MariaDBでは、DAYNAME()
は、特定の日付の曜日の名前を返す組み込みの日付と時刻の関数です。
曜日名を抽出する日付である1つの引数を受け入れます。
構文
構文は次のようになります:
DAYNAME(date)
date
は日の名前を取得する日付です。
例
次に例を示します:
SELECT DAYNAME('2045-10-17');
結果:
+-----------------------+ | DAYNAME('2045-10-17') | +-----------------------+ | Tuesday | +-----------------------+
言語
日の名前に使用される言語は、lc_time_names
の値によって制御されます システム変数。
これが結果にどのように影響するかを示す例を次に示します。
SET lc_time_names = 'de_DE';
SELECT DAYNAME('2045-10-17');
結果:
+-----------------------+ | DAYNAME('2045-10-17') | +-----------------------+ | Tuesday | +-----------------------+
そして、en_US
に切り替えます 、これがデフォルトです:
SET lc_time_names = 'en_US';
SELECT DAYNAME('2045-10-17');
結果:
+-----------------------+ | DAYNAME('2045-10-17') | +-----------------------+ | Tuesday | +-----------------------+
MariaDBでサポートされているロケールのリストと、使用可能なロケールの独自のリストを返す方法は次のとおりです。
その間、lc_time_names
の値を確認する方法を説明する投稿があります システム変数。
日時の値
日時の値でも機能します:
SELECT DAYNAME('2030-01-25 10:30:45');
結果:
+--------------------------------+ | DAYNAME('2030-01-25 10:30:45') | +--------------------------------+ | Friday | +--------------------------------+
ゼロデイ
日付にゼロデイがあると、null
が返されます :
SELECT DAYNAME('2030-00-00');
結果:
+-----------------------+ | DAYNAME('2030-00-00') | +-----------------------+ | NULL | +-----------------------+
数値日付
日付として意味がある限り、日付を数値として渡すこともできます。
例
SELECT DAYNAME(20201108);
結果:
+-------------------+ | DAYNAME(20201108) | +-------------------+ | Sunday | +-------------------+
2桁の年で十分です:
SELECT DAYNAME(201108);
結果:
+-----------------+ | DAYNAME(201108) | +-----------------+ | Sunday | +-----------------+
しかし、それは日付として意味をなさなければなりません。月の部分を無効な月に増やすとどうなりますか:
SELECT DAYNAME(209908);
結果:
+-----------------+ | DAYNAME(209908) | +-----------------+ | NULL | +-----------------+
その他の区切り文字
日付には他の区切り文字を使用できます。 MariaDBは、日付の区切り文字に関しては非常に寛容です。いくつかの有効な例を次に示します。
SELECT
DAYNAME('2027/08/19'),
DAYNAME('2027,08,19'),
DAYNAME('2027:08:19'),
DAYNAME('2027;08!19');
結果(垂直出力を使用):
DAYNAME('2027/08/19'): Thursday DAYNAME('2027,08,19'): Thursday DAYNAME('2027:08:19'): Thursday DAYNAME('2027;08!19'): Thursday
現在の日付
NOW()
を渡すことができます 現在の日付を使用する日付引数として:
SELECT
NOW(),
DAYNAME(NOW());
結果:
+---------------------+----------------+ | NOW() | DAYNAME(NOW()) | +---------------------+----------------+ | 2021-05-13 13:29:10 | Thursday | +---------------------+----------------+
無効な引数
無効な引数が渡されると、DAYNAME()
null
を返します :
SELECT DAYNAME('Dang!');
結果:
+------------------+ | DAYNAME('Dang!') | +------------------+ | NULL | +------------------+
引数がありません
DAYNAME()
を呼び出す 引数の数が間違っているか、引数を渡さないと、エラーが発生します:
SELECT DAYNAME();
結果:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'DAYNAME'
そして別の例:
SELECT DAYNAME('2030-01-25', '2045-05-08');
結果:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'DAYNAME'