postgresql タイムスタンプや間隔を文字列にキャストする

timestampまたはinterval値をto_char()関数で文字列に変換できます:

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

この文は「12 Aug 2016 04:40:32PM」文字列に変換されます。 フォーマット文字列はさまざまな方法で変更できます。テンプレートパターンの完全なリストはこちらをご覧ください。

Note that you can also insert plain text into the formatting string and you can use the template patterns in any order:

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

This will produce the string “Today is Saturday, the 12th day of the month of August of the 2016”.フォーマット文字列はさまざまな方法で変更できます。 ただし、テンプレートパターンは、たとえ「I」、「D」、「W」のような1文字のものでも、プレーンテキストが二重引用符で囲まれていない限り、変換されることを覚えておく必要があります。 安全対策として、上で行ったように、すべてのプレーンテキストを二重引用符で囲むべきです。

TM (translation mode) 修飾子を使用すると、文字列を希望の言語(曜日と月名)にローカライズすることが可能です。 このオプションは、PostgreSQLを実行しているサーバまたはそれに接続しているクライアントの地域化設定を使用します。

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

スペイン語のロケール設定では、”Sábado, 12 de Agosto del año 2016 “と出力されます。

コメントを残す

メールアドレスが公開されることはありません。