MariaDBでは、DAY()
DAYOFMONTH()
の同義語です 。指定された日付からの日を返します。
1つの引数を受け入れます。これは、その月の日を返したい日付です。
結果は1
の範囲になります 31
へ 。ただし、日付にゼロデイ部分がある場合(たとえば、'0000-00-00'
または'2021-00-00'
)、結果は0
です。 。
構文
構文は次のようになります:
DAY(date)
date
は、その日を抽出する日付です。
例
次に例を示します:
SELECT DAY('2045-05-18');
結果:
+-------------------+ | DAY('2045-05-18') | +-------------------+ | 18 | +-------------------+
日時の値
日時の値でも機能します:
SELECT DAY('2045-05-18 01:10:15');
結果:
+----------------------------+ | DAY('2045-05-18 01:10:15') | +----------------------------+ | 18 | +----------------------------+
ゼロデイ
日付にゼロデイを使用する例を次に示します。
SELECT DAY('0000-00-00');
結果:
+-------------------+ | DAY('0000-00-00') | +-------------------+ | 0 | +-------------------+
数値日付
日付として意味がある限り、日付を数値として渡すこともできます。
例
SELECT DAY(20220308);
結果:
+---------------+ | DAY(20220308) | +---------------+ | 8 | +---------------+
または、次の場合でも(2桁の年を使用):
SELECT DAY(220308);
結果:
+-------------+ | DAY(220308) | +-------------+ | 8 | +-------------+
しかし、それは日付として意味をなさなければなりません。日の部分を無効な日に増やすと、次のようになります。
SELECT DAY(220358);
結果:
+-------------+ | DAY(220358) | +-------------+ | NULL | +-------------+
その他の区切り文字
日付には他の区切り文字を使用できます。 MariaDBは、日付の区切り文字に関しては非常に寛容です。いくつかの有効な例を次に示します。
SELECT
DAY('2028/12/30'),
DAY('2028,12,30'),
DAY('2028:12:30'),
DAY('2028;12!30');
結果(垂直出力を使用):
DAY('2028/12/30'): 30 DAY('2028,12,30'): 30 DAY('2028:12:30'): 30 DAY('2028;12!30'): 30
現在の日付
NOW()
を渡すことができます 現在の日付を使用する日付引数として:
SELECT
NOW(),
DAY(NOW());
結果:
+---------------------+------------+ | NOW() | DAY(NOW()) | +---------------------+------------+ | 2021-05-13 09:41:03 | 13 | +---------------------+------------+
無効な引数
無効な引数が渡されると、DAY()
null
を返します :
SELECT DAY('Oops!');
結果:
+--------------+ | DAY('Oops!') | +--------------+ | NULL | +--------------+
引数がありません
DAY()
を呼び出す 引数の数が間違っているか、引数を渡さないと、エラーが発生します:
SELECT DAY();
結果:
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ')' at line 1
そして別の例:
SELECT DAY('2030-01-25', '2045-05-08');
結果:
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ' '2045-05-08')' at line 1