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'