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()関数ひとつで簡単に曜日名を取得できるため、ログ分析やレポート作成の際に非常に便利です。
-
MySQLで生年月日から曜日名を表示する方法【DAYNAME()関数の使い方】
MySQLで生年月日から曜日名を表示する方法MySQLでは、DAYNAME()関数を使用することで、生年月日などのDATE型カラムから曜日名を簡単に取得・表示できます。DAYNAME()関数は、指定された日付に対応する曜日名(Sunday、Monday、Tuesdayなど)を英語の文字列として返します。ここでは、実際にテーブルを作成し、生年月日のデータから曜日名を表示する手順を順番に見ていきましょう。1. テーブルを作成するまず、生年月日を格納するためのテーブルを作成します。mysql> create table DemoTable795 ( DateOfBirth date);Qu
-
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」を持つ