PostgreSQLでは、extract()
を使用できます 日付から週番号を取得する関数。
date_part()
を使用することもできます 同じことをする機能。
例1:extract()関数
extract()
の使用例を次に示します。 日付から週を抽出する関数。
SELECT extract(week from date '2020-12-27') AS "Week Number";
結果:
Week Number ------------- 52
例2:date_part()関数
date_part()
を使用して同じことを行う方法は次のとおりです。 機能。
SELECT date_part('week', date '2020-12-27') AS "Week Number";
結果:
Week Number ------------- 52
例3:ISO週番号付けシステムについて
予期しない結果が得られた場合は、ISOの週番号の定義方法が原因である可能性があります。
ISO週は月曜日に始まり、年の最初の週にはその年の1月4日が含まれます。したがって、1月上旬の日付は前年の第52週または第53週の一部になり、12月下旬の日付は翌年の第1週の一部になる可能性があります。
例:
SELECT extract(week from date '2021-01-03') AS "2021-01-03", extract(week from date '2021-01-04') AS "2021-01-04";
結果:
2021-01-03 | 2021-01-04 ------------+------------ 53 | 1
この場合、2021年1月3日は、実際にはまだ2020年の最後の週の一部です。2021年の最初の週は1月4日まで開始されません。
以下は、年末の日付が翌年の第1週の一部であることを示す別の例です。
SELECT extract(week from date '2024-12-29') AS "2024-12-29", extract(week from date '2024-12-30') AS "2024-12-30";
結果:
2024-12-29 | 2024-12-30 ------------+------------ 52 | 1
この場合、2024年12月29日は2024年の最後の週の一部ですが、12月30日になるとすぐに、2025年の最初の週になります。