MariaDBでは、WEEKDAY()
は、指定された日付から曜日を返す組み込みの日付と時刻の関数です。
曜日を抽出する日付である1つの引数を受け入れます。
日を数値として返します。月曜日のインデックス番号はゼロから始まります(つまり、0
=月曜日、1
=火曜日など)。これは、DAYOFWEEK()
とは対照的です。 、ODBC標準(1
に準拠) =日曜日、2
=月曜日など)。
構文
構文は次のようになります:
WEEKDAY(date)
date
曜日を取得する日付です。
例
次に例を示します:
SELECT WEEKDAY('2030-01-25');
結果:
+-----------------------+ | WEEKDAY('2030-01-25') | +-----------------------+ | 4 | +-----------------------+
曜日名との比較
DAYNAME()
と一緒にもう1つあります 日の名前を返すには:
SELECT
WEEKDAY('2030-01-21'),
DAYNAME('2030-01-21');
結果:
+-----------------------+-----------------------+ | WEEKDAY('2030-01-21') | DAYNAME('2030-01-21') | +-----------------------+-----------------------+ | 0 | Monday | +-----------------------+-----------------------+
前述のように、月曜日のインデックス番号は0から始まります。
これが日曜日です:
SELECT
WEEKDAY('2030-01-20'),
DAYNAME('2030-01-20');
結果:
+-----------------------+-----------------------+ | WEEKDAY('2030-01-20') | DAYNAME('2030-01-20') | +-----------------------+-----------------------+ | 6 | Sunday | +-----------------------+-----------------------+
日時の値
日時の値でも機能します:
SELECT WEEKDAY('2030-01-24 10:30:45');
結果:
+--------------------------------+ | WEEKDAY('2030-01-24 10:30:45') | +--------------------------------+ | 3 | +--------------------------------+
ゼロデイ
ゼロデイはnull
になります 。
例:
SELECT WEEKDAY('2030-00-00');
結果:
+-----------------------+ | WEEKDAY('2030-00-00') | +-----------------------+ | NULL | +-----------------------+
数値日付
日付として意味がある限り、日付を数値として渡すこともできます。
例
SELECT WEEKDAY(20300125);
結果:
+-------------------+ | WEEKDAY(20300125) | +-------------------+ | 4 | +-------------------+
または、次の場合でも(2桁の年を使用):
SELECT WEEKDAY(300125);
結果:
+-----------------+ | WEEKDAY(300125) | +-----------------+ | 4 | +-----------------+
しかし、それは日付として意味をなさなければなりません。日の部分を無効な日に増やすと、次のようになります。
SELECT WEEKDAY(20300135);
結果:
+-------------------+ | WEEKDAY(20300135) | +-------------------+ | NULL | +-------------------+
その他の区切り文字
日付には他の区切り文字を使用できます。 MariaDBは、日付の区切り文字に関しては非常に寛容です。いくつかの有効な例を次に示します。
SELECT
WEEKDAY('2030/01/25'),
WEEKDAY('2030,01,25'),
WEEKDAY('2030:01:25'),
WEEKDAY('2030;01!25');
結果(垂直出力を使用):
WEEKDAY('2030/01/25'): 4 WEEKDAY('2030,01,25'): 4 WEEKDAY('2030:01:25'): 4 WEEKDAY('2030;01!25'): 4
現在の日付
NOW()
を渡すことができます 現在の日付を使用する日付引数として:
SELECT
NOW(),
WEEKDAY(NOW());
結果:
+---------------------+----------------+ | NOW() | WEEKDAY(NOW()) | +---------------------+----------------+ | 2021-05-15 09:44:50 | 5 | +---------------------+----------------+
無効な引数
無効な引数が渡されると、WEEKDAY()
null
を返します :
SELECT WEEKDAY('Homer');
結果:
+------------------+ | WEEKDAY('Homer') | +------------------+ | NULL | +------------------+
引数がありません
WEEKDAY()
を呼び出す 引数の数が間違っているか、引数を渡さないと、エラーが発生します:
SELECT WEEKDAY();
結果:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'WEEKDAY'
そして別の例:
SELECT WEEKDAY('2030-01-25', '2045-05-08');
結果:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'WEEKDAY'