將時間戳或間隔轉換為字串

你可以使用 to_char() 函式將 timestampinterval 值轉換為字串:

SELECT to_char('2016-08-12 16:40:32'::timestamp, 'DD Mon YYYY HH:MI:SSPM');

該宣告將產生字串“2016 年 8 月 12 日 04:40:32 PM”。格式化字串可以用許多不同的方式修改; 可以在此處找到模板模式的完整列表。

請注意,你還可以將純文字插入格式化字串,並且可以按任何順序使用模板模式:

SELECT to_char('2016-08-12 16:40:32'::timestamp, 
               '"Today is "FMDay", the "DDth" day of the month of "FMMonth" of "YYYY');

這將產生字串“今天是星期六,即 2016 年 8 月的第 12 天”。但是,你應該記住,除非純文字是雙引號,否則任何模板模式 - 甚至是單字母模式(如 IDW)都會被轉換。作為安全措施,你應該將所有純文字放在雙引號中,如上所述。

你可以使用 TM(轉換模式)修改器將字串本地化為你選擇的語言(日期和月份名稱)。此選項使用執行 PostgreSQL 的伺服器的本地化設定或連線到它的客戶端。

SELECT to_char('2016-08-12 16:40:32'::timestamp, 'TMDay, DD" de "TMMonth" del año "YYYY');

憑藉西班牙語區域設定,這將產生“Sábado,12 de Agostodelaño2016”。