postgresql 中的to_char()常用操作

postgresql中的to_char()用法和Oracle相比,多瞭一個參數。

to_char(待轉換值,轉換格式);

常用轉換格式有2種:

一個是寫若幹個0,如果待轉換的值位數少於於你定義的轉換格式位數,輸出值會自動在左邊補0,位數補齊到轉換格式的長度;如果待轉換的值位數多於你定義的轉換格式位數,輸出值為:##(長度跟你定義的轉換格式一樣);

另一個是寫若幹個9,如果待轉換的值位數少於你定義的轉換格式位數,正常輸出;

如果待轉換的值位數多於於你定義的轉換格式位數,輸出值為:##(長度跟你定義的轉換格式一樣);

轉換格式如果寫其他數字,輸出結果為轉換格式的值。

補充:Postgresql中使用to_char進行yyyy-MM-dd HH:mm:ss轉換時要註意的問題

在java和一些常用的數據中(mysql/sqlsever)中進行年月日分秒轉換的時候,都是用

SELECT to_char(CURRENT_DATE,'yyyy-MM-dd hh:MM:ss')

但是在Postgresql中這樣用就會出現問題,在pg中執行上面的語句返回的結果為

2015-05-06 12:05:00

看到瞭,這並不是我們想要的,那怎麼處理呢?在pg中要用下面的方法

SELECT to_char(CURRENT_DATE,'yyyy-MM-dd hh24:MI:ss')

結果如下

2015-05-06 00:00:00

這才是我們想要結果,看來不能想當然的,認為所有數據庫都是一樣的,要細心!

以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持WalkonNet。如有錯誤或未考慮完全的地方,望不吝賜教。