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'