sql >> データベース >  >> RDS >> Mysql

DAYOFWEEK()の例– MySQL

    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 |
    +------------+----------------------+
    


    1. T-SQLを使用してSQLServerでユーザー定義のデータ型エイリアスを作成する方法

    2. 画像をデータベースに直接保存しますか、それともbase64データとして保存しますか?

    3. Oracleデータベースからランダムにレコードを取得するにはどうすればよいですか?

    4. SELECTINTOOUTFILEを使用してMySQLErrcode13を回避するにはどうすればよいですか?