DAYOFWEEK()
を使用できます MySQLの関数を使用して、日付から曜日を返します。
このコンテキストでは、戻り値 1 日曜日に対応、 2 月曜日などに対応します。
この記事には、デモンストレーションの例が含まれています。
構文
構文は次のようになります:
DAYOFWEEK(date)
date
曜日を返す日付の値です。
例
実例を示します。
SELECT DAYOFWEEK('2019-01-01') AS 'Result';
結果:
+--------+ | Result | +--------+ | 3 | +--------+
これはDAYNAME()
と一緒に実行できます 対応する日を確認する関数:
SET @date = '2019-01-01'; SELECT @date, DAYNAME(@date) AS 'Day Name', DAYOFWEEK(@date) AS 'Day of Week';
結果:
+------------+----------+-------------+ | @date | Day Name | Day of Week | +------------+----------+-------------+ | 2019-01-01 | Tuesday | 3 | +------------+----------+-------------+
DAYOFWEEK()とDAYOFMONTH()
DAYOFWEEK()
の違いを示す例を次に示します。 およびDAYOFMONTH()
機能。
SET @date = '2019-01-20'; SELECT @date, DAYNAME(@date) AS 'Day Name', DAYOFWEEK(@date) AS 'Day of Week', DAYOFMONTH(@date) AS 'Day of Month';
結果:
+------------+----------+-------------+--------------+ | @date | Day Name | Day of Week | Day of Month | +------------+----------+-------------+--------------+ | 2019-01-20 | Sunday | 1 | 20 | +------------+----------+-------------+--------------+
DAYOFMONTH()
関数は1の間の値を返します および31 (または 0 月の日を表すゼロデイ部分のある日付の場合)。 1にリセットされます 毎月初めに。
DAYOFWEEK()
一方、関数は 1の間の値を返します および7 。 1にリセットされます 毎週の初めに。
データベースの例
ここでは、前の例と同様のことを行いますが、この例ではデータベースのデータを使用している点が異なります。
USE sakila; SELECT payment_date AS 'Date/Time', DAYNAME(payment_date) AS 'Day Name', DAYOFWEEK(payment_date) AS 'Day of Week' FROM payment WHERE payment_id = 1;
結果:
+---------------------+-----------+-------------+ | Date/Time | Day Name | Day of Week | +---------------------+-----------+-------------+ | 2005-05-25 11:30:37 | Wednesday | 4 | +---------------------+-----------+-------------+
現在の日付/時刻
これは、現在の日時から日の部分を抽出する例です(NOW()
を使用して返されます 関数)。
SELECT NOW(), DAYOFWEEK(NOW());
結果:
+---------------------+------------------+ | NOW() | DAYOFWEEK(NOW()) | +---------------------+------------------+ | 2018-06-26 07:42:31 | 3 | +---------------------+------------------+
これを行う別の方法は、CURDATE()
を使用することです。 関数。日付のみを返します(時刻は返しません)。
SELECT CURDATE(), DAYOFWEEK(CURDATE());
結果:
+------------+----------------------+ | CURDATE() | DAYOFWEEK(CURDATE()) | +------------+----------------------+ | 2018-06-26 | 3 | +------------+----------------------+