PostgreSQLに精通している場合は、EXTRACT()
を使用できることをご存知かもしれません。 およびDATE_PART()
日付から月を抽出する関数。ただし、これらの関数では、月の数値のみを抽出できます。 。
月の名前が必要な場合はどうなりますか ?
TO_CHAR()
を使用して、日付から月の名前を取得できます 働き。この関数は、タイムスタンプと引数として指定したテンプレートパターンに基づいて文字列を返します。
例
これが簡単な例です。
SELECT TO_CHAR(TIMESTAMP '2020-12-16 10:41:35'、'Month')AS "Month";
結果:
月-------------12月
この場合、'Month'
のテンプレートパターンを指定しました 、そのため、タイムスタンプ値から月が返されました。
小文字、大文字、および大文字と小文字の区別
月は小文字、大文字、または大文字で返すことができます。テンプレートパターン(2番目の引数)に使用するケースによって、どちらを決定します。
これが私の意味を示す例です。
SELECT TO_CHAR(current_timestamp、'month')AS "month"、TO_CHAR(current_timestamp、'Month')AS "Month"、TO_CHAR(current_timestamp、'MONTH')AS "MONTH";
結果:
<前>月|月|月-----------+----------- +-----------3月| 3月| 3月使用するケースに関係なく、すべての結果は9文字まで空白で埋められます。
短い月の名前
短い月の名前を使用して結果をフォーマットするように指定することもできます。
SELECT TO_CHAR(current_timestamp、'mon')AS "mon"、TO_CHAR(current_timestamp、'Mon')AS "Mon"、TO_CHAR(current_timestamp、'MON')AS "MON";
結果:
月|月| MON ----- + ----- + ----- mar | 3月| 3月