MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

MySQLで日付から曜日名を取得する方法(DAYNAME関数の使い方)

MySQLで日付に対応する曜日名を取得するには?

MySQLで日付データから曜日名(Sunday、Mondayなど)を取得したい場合は、DAYNAME()関数を使用します。この記事では、実際にテーブルを作成し、DAYNAME()関数を使って曜日名を取得する手順を解説します。

1. テーブルを作成する

まず、出荷日(ShippingDate)を格納するテーブルを作成しましょう。

mysql> create table DemoTable1954
    (
    ShippingDate date
    );
Query OK, 0 rows affected (0.00 sec)

2. レコードを挿入する

INSERTコマンドを使って、サンプルデータをいくつか登録します。

mysql> insert into DemoTable1954 values('2019-12-15');
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1954 values('2018-04-11');
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1954 values('2019-01-31');
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1954 values('2016-10-01');
Query OK, 1 row affected (0.00 sec)

3. 登録したレコードを確認する

SELECT文で、テーブル内のすべてのレコードを表示してみましょう。

mysql> select * from DemoTable1954;

実行すると、以下のような結果が出力されます。

+--------------+
| ShippingDate |
+--------------+
| 2019-12-15   |
| 2018-04-11   |
| 2019-01-31   |
| 2016-10-01   |
+--------------+
4 rows in set (0.00 sec)

4. DAYNAME()関数で曜日名を取得する

それでは、各日付に対応する曜日名を取得するクエリを見てみましょう。DAYNAME()関数の引数に日付カラムを指定するだけでOKです。

mysql> select dayname(ShippingDate) as Day from DemoTable1954;

実行結果は以下のとおりです。

+-----------+
| Day       |
+-----------+
| Sunday    |
| Wednesday |
| Thursday  |
| Saturday  |
+-----------+
4 rows in set (0.00 sec)

補足:日本語で曜日名を表示したい場合

DAYNAME()関数は英語の曜日名を返します。日本語の曜日名(日曜日、月曜日など)を取得したい場合は、WEEKDAY()関数やDATE_FORMAT()関数と組み合わせる方法があります。例えば、CASE式やELT()関数を使えば、数値化した曜日番号を日本語の曜日名に変換することも可能です。

mysql> select elt(weekday(ShippingDate) + 1,
    '月曜日','火曜日','水曜日','木曜日','金曜日','土曜日','日曜日') as 曜日
    from DemoTable1954;

このように、MySQLではDAYNAME()関数ひとつで簡単に曜日名を取得できるため、ログ分析やレポート作成の際に非常に便利です。

  1. MySQLで生年月日から曜日名を表示する方法【DAYNAME()関数の使い方】

    MySQLで生年月日から曜日名を表示する方法MySQLでは、DAYNAME()関数を使用することで、生年月日などのDATE型カラムから曜日名を簡単に取得・表示できます。DAYNAME()関数は、指定された日付に対応する曜日名(Sunday、Monday、Tuesdayなど)を英語の文字列として返します。ここでは、実際にテーブルを作成し、生年月日のデータから曜日名を表示する手順を順番に見ていきましょう。1. テーブルを作成するまず、生年月日を格納するためのテーブルを作成します。mysql> create table DemoTable795 ( DateOfBirth date);Qu

  2. MySQLでDATETIME型から日付のみを抽出する方法

    MySQLのDATETIME型カラムから日付部分だけを取り出したい場合、DATE_FORMAT()関数と書式指定子を組み合わせるのが便利です。使用する主な書式指定子は以下の通りです。%d … 日(01〜31)%m … 月(01〜12)%Y … 年(4桁)それでは、実際にサンプルテーブルを作成して確認してみましょう。1. テーブルの作成mysql> create table DemoTable ( AdmissionDate datetime ); Query OK, 0 rows affected (0.52 sec)DATETIME型のカラム「AdmissionDate」を持つ