MariaDBでは、DAYOFYEAR()
は、指定された日付から1年の日付を返す組み込みの日付と時刻の関数です。
1つの引数を受け入れます。これは、その年の日を抽出する日付です。
1
の範囲の数値として日を返します 366
へ 。
構文
構文は次のようになります:
DAYOFYEAR(date)
date
は、その年の日を取得する日付です。
例
次に例を示します:
SELECT DAYOFYEAR('2030-12-25');
結果:
+-------------------------+ | DAYOFYEAR('2030-12-25') | +-------------------------+ | 359 | +-------------------------+
日時の値
日時の値でも機能します:
SELECT DAYOFYEAR('2030-02-01 10:30:45');
結果:
+----------------------------------+ | DAYOFYEAR('2030-02-01 10:30:45') | +----------------------------------+ | 32 | +----------------------------------+
ゼロデイ
ゼロデイはnull
になります 。
例:
SELECT DAYOFYEAR('2030-00-00');
結果:
+-------------------------+ | DAYOFYEAR('2030-00-00') | +-------------------------+ | NULL | +-------------------------+
数値日付
日付として意味がある限り、日付を数値として渡すこともできます。
例
SELECT DAYOFYEAR(20301125);
結果:
+---------------------+ | DAYOFYEAR(20301125) | +---------------------+ | 329 | +---------------------+
または、次の場合でも(2桁の年を使用):
SELECT DAYOFYEAR(301125);
結果:
+-------------------+ | DAYOFYEAR(301125) | +-------------------+ | 329 | +-------------------+
しかし、それは日付として意味をなさなければなりません。日の部分を無効な日に増やすと、次のようになります。
SELECT DAYOFYEAR(20300135);
結果:
+---------------------+ | DAYOFYEAR(20300135) | +---------------------+ | NULL | +---------------------+
その他の区切り文字
日付には他の区切り文字を使用できます。 MariaDBは、日付の区切り文字に関しては非常に寛容です。いくつかの有効な例を次に示します。
SELECT
DAYOFYEAR('2030/06/25'),
DAYOFYEAR('2030,06,25'),
DAYOFYEAR('2030:06:25'),
DAYOFYEAR('2030;06!25');
結果(垂直出力を使用):
DAYOFYEAR('2030/06/25'): 176 DAYOFYEAR('2030,06,25'): 176 DAYOFYEAR('2030:06:25'): 176 DAYOFYEAR('2030;06!25'): 176
現在の日付
NOW()
を渡すことができます 現在の日付を使用する日付引数として:
SELECT
NOW(),
DAYOFYEAR(NOW());
結果:
+---------------------+------------------+ | NOW() | DAYOFYEAR(NOW()) | +---------------------+------------------+ | 2021-05-16 09:05:57 | 136 | +---------------------+------------------+
無効な引数
無効な引数が渡されると、DAYOFYEAR()
null
を返します :
SELECT DAYOFYEAR('Friday');
結果:
+---------------------+ | DAYOFYEAR('Friday') | +---------------------+ | NULL | +---------------------+
引数がありません
DAYOFYEAR()
を呼び出す 引数の数が間違っているか、引数を渡さないと、エラーが発生します:
SELECT DAYOFYEAR();
結果:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'DAYOFYEAR'
そして別の例:
SELECT DAYOFYEAR('2030-01-25', '2045-05-08');
結果:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'DAYOFYEAR'