MySQLを使用する場合は、MAKEDATE()
を使用できます。 年と曜日の部分から日付を返す関数。
つまり、2つの引数を指定します。 1つは年で、もう1つは年の日です。 MAKEDATE()
関数は、これら2つの引数に基づいて日付値を返します。
構文
構文は次のようになります:
MAKEDATE(year,dayofyear)
year
は年の部分であり、dayofyear
は年の日の部分です。
例1-基本的な使用法
実例を示します。
SELECT MAKEDATE(2021,10);
結果:
+-------------------+ | MAKEDATE(2021,10) | +-------------------+ | 2021-01-10 | +-------------------+
つまり、10
は1年の10日を意味し、これは1月10日を意味します。
例2–より大きな1日の値
これは、より大きな曜日の値を使用する例です。
SELECT MAKEDATE(2021,350);
結果:
+--------------------+ | MAKEDATE(2021,350) | +--------------------+ | 2021-12-16 | +--------------------+
したがって、この場合、1年の350日目は12月16日になります。
365(うるう年の場合は366)より大きい値を使用することもできます。これを行うと、結果は必要に応じて新しい暦年にフリックします。
SELECT MAKEDATE(2021,500), MAKEDATE(2021,5000);
結果:
+--------------------+---------------------+ | MAKEDATE(2021,500) | MAKEDATE(2021,5000) | +--------------------+---------------------+ | 2022-05-15 | 2034-09-09 | +--------------------+---------------------+
例3–うるう年
この機能を使用するときは、うるう年に注意してください。
SELECT MAKEDATE(2020,350), MAKEDATE(2021,350);
結果:
+--------------------+--------------------+ | MAKEDATE(2020,350) | MAKEDATE(2021,350) | +--------------------+--------------------+ | 2020-12-15 | 2021-12-16 | +--------------------+--------------------+
この場合、2020年はうるう年です。また、2月にはうるう年の間に余分な日があるため、これは残りの1年の日の値の結果に影響します。
例4–ゼロ値
ゼロ値を指定すると、結果はNULL
になります。 。
SELECT MAKEDATE(2020,0);
結果:
+------------------+ | MAKEDATE(2020,0) | +------------------+ | NULL | +------------------+