將時間戳或間隔轉換為字串
你可以使用 to_char()
函式將 timestamp
或 interval
值轉換為字串:
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 天”。但是,你應該記住,除非純文字是雙引號,否則任何模板模式 - 甚至是單字母模式(如 I
,D
,W
)都會被轉換。作為安全措施,你應該將所有純文字放在雙引號中,如上所述。
你可以使用 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”。