MySQLで日付を好きな形式に変換して表示する方法|DATE_FORMAT()関数の使い方
MySQLのDATE_FORMAT()関数とは
MySQLで日付をユーザーが指定した別の形式で表示したい場合は、DATE_FORMAT()関数を使用します。この関数は2つの引数を受け取ります。第1引数には対象となる日付を、第2引数には希望する形式を表す書式文字列(フォーマット指定子)を指定します。
使用例
例として、テーブル「date_testing」に以下のような形式(YYYY-MM-DD)で日付が3件保存されている場合を考えてみましょう。
mysql> Select * from date_testing; +------------+ | Date | +------------+ | 2017-03-15 | | 2017-03-25 | | 2017-04-05 | +------------+ 3 rows in set (0.00 sec)
次に、DATE_FORMAT()関数を使うことで、これらの日付をユーザーが指定した形式に変換して表示できます。
mysql> Select DATE_FORMAT(Date, '%W %D %M %Y') AS 'FORMATTED DATE' from date_testing; +---------------------------+ | FORMATTED DATE | +---------------------------+ | Wednesday 15th March 2017 | | Saturday 25th March 2017 | | Wednesday 5th April 2017 | +---------------------------+ 3 rows in set (0.00 sec)
主な書式指定子の意味
上記の例で使用した「%W」や「%D」などは、日付の書式を指定するための記号(フォーマット指定子)です。代表的なものは以下の通りです。
- %W:曜日の名前(例:Wednesday)
- %D:英語の序数付きの日(例:15th)
- %M:月の名前(例:March)
- %Y:4桁の年(例:2017)
このように複数の書式指定子を組み合わせることで、「Wednesday 15th March 2017」のような読みやすい日付表示を自由に作成できます。用途に合わせて指定子を変更すれば、和暦風の表示や「2025年1月1日」のような形式にも対応可能です。
-
MySQLで生年月日から曜日名を表示する方法【DAYNAME()関数の使い方】
MySQLで生年月日から曜日名を表示する方法MySQLでは、DAYNAME()関数を使用することで、生年月日などのDATE型カラムから曜日名を簡単に取得・表示できます。DAYNAME()関数は、指定された日付に対応する曜日名(Sunday、Monday、Tuesdayなど)を英語の文字列として返します。ここでは、実際にテーブルを作成し、生年月日のデータから曜日名を表示する手順を順番に見ていきましょう。1. テーブルを作成するまず、生年月日を格納するためのテーブルを作成します。mysql> create table DemoTable795 ( DateOfBirth date);Qu
-
MySQLで日付形式を変換する方法|STR_TO_DATE()関数の使い方を解説
MySQLでは、VARCHAR型などで保存された文字列の日付データを、正しい日付・時刻形式に変換したいケースがよくあります。そんなときに活躍するのが STR_TO_DATE() 関数です。この記事では、実際のSQL例とともに具体的な使い方を解説します。サンプルテーブルの作成まず、日付を文字列として格納するテーブルを作成します。mysql> create table DemoTable2010 ( DueDate varchar(20) ); Query OK, 0 rows affected (0.68 sec)テストデータの挿入INSERT文を使って、「日/月/年 時:分:秒」