PostgreSQLでは、すでに1か月の名前がある場合 、ただし、その名前を月の数値に変換したい 、EXTRACT()
を使用してこれを行うことができます 機能。
例1:完全な月の名前
月の名前を対応する月の番号に変換する基本的な例を次に示します。
SELECT EXTRACT(MONTH FROM TO_DATE('December', 'Month')) AS "Month Number";
結果:
Month Number -------------- 12
例2:短い月の名前
また、短い月の名前でも機能します。この場合、'Month'
からテンプレート文字列を短くするだけです。 'Mon'
へ (TO_DATE()
の2番目の引数 関数)。
SELECT EXTRACT(MONTH FROM TO_DATE('Dec', 'Mon')) AS "Month Number";
結果:
Month Number -------------- 12
例3:より長い日付
(月の名前だけでなく)長い日付を指定した場合にも機能します。
SELECT EXTRACT( MONTH FROM TO_DATE('December 20, 2020', 'Month') ) AS "Month Number";
結果:
Month Number -------------- 12
例4:タイムスタンプの使用
TO_TIMESTAMP()
を使用した例を次に示します。 TO_DATE()
の代わりに 。
SELECT EXTRACT(MONTH FROM TO_TIMESTAMP('Dec 2020', 'Mon')) AS "Month Number";
結果:
Month Number -------------- 12