MySQLでDATE_FORMAT()を使って日付に完全な月名を含めて表示する方法
MySQLで日付を「日.月名.年」形式にフォーマットする方法
MySQLでは、DATE_FORMAT()関数を使うことで、日付の表示形式を自由にカスタマイズできます。この関数を利用すると、「21.January.2019」のように、日付全体の中に完全な月名(January、Februaryなど)を含めて表示することが可能です。
ここからは、実際にサンプルテーブルを作成しながら、具体的な手順を見ていきましょう。
1. サンプルテーブルを作成する
まず、日付型(DATE)のカラムを持つテーブルを作成します。
mysql> create table DemoTable605 (DueDate date); Query OK, 0 rows affected (0.57 sec)
2. レコードを挿入する
次に、INSERTコマンドを使ってテーブルにいくつかの日付データを登録します。
mysql> insert into DemoTable605 values('2019-01-21');
Query OK, 1 row affected (0.21 sec)
mysql> insert into DemoTable605 values('2019-02-23');
Query OK, 1 row affected (0.11 sec)
mysql> insert into DemoTable605 values(curdate());
Query OK, 1 row affected (0.15 sec)なお、curdate()は現在の日付を返す関数です。
3. 登録したレコードを確認する
SELECT文ですべてのレコードを表示してみましょう。
mysql> select *from DemoTable605;
実行結果は以下のとおりです。
+------------+ | DueDate | +------------+ | 2019-01-21 | | 2019-02-23 | | 2019-03-04 | | 2019-04-24 | | 2019-07-13 | +------------+ 5 rows in set (0.00 sec)
4. DATE_FORMAT()で月名を含めて日付を表示する
それでは本題です。以下のクエリを実行すると、日付全体に完全な月名を含めた形式で表示できます。
mysql> select DATE_FORMAT(DueDate, '%d.%M.%Y') from DemoTable605;
実行結果は次のようになります。
+----------------------------------+ | DATE_FORMAT(DueDate, '%d.%M.%Y') | +----------------------------------+ | 21.January.2019 | | 23.February.2019 | | 04.March.2019 | | 24.April.2019 | | 13.July.2019 | +----------------------------------+ 5 rows in set (0.00 sec)
書式指定子の意味
上記のクエリで使用した各指定子は、以下のような意味を持っています。
- %d … 日を2桁の数字(01〜31)で表示
- %M … 完全な月名(January〜December)を英語で表示
- %Y … 年を4桁の数字で表示
区切り文字は「.」(ドット)以外にも、「/」やスペースなど自由に変更できます。たとえば'%d %M %Y'と指定すれば「21 January 2019」のように表示されます。
なお、略称の月名(Jan、Febなど)を表示したい場合は、%Mの代わりに%bを使用してください。状況に応じて書式指定子を組み合わせることで、用途に合わせた柔軟な日付表示が実現できます。
-
MySQLで日付データから月の初日と末日を取得する方法
MySQLでは、日付型のカラムから「その月の最初の日」と「最後の日」を簡単に求めることができます。この記事では、実際にテーブルを作成し、サンプルデータを使いながら具体的な手順を解説します。1. テーブルの作成まず、日付を格納するためのテーブルを作成します。mysql> create table DemoTable -> ( -> DueDate date -> ); Query OK, 0 rows affected (0.73 sec)2. レコードの挿入次に、INSERT文を使ってテーブルにいくつかのレコードを挿入します。mysql>
-
【MySQL】日付レコードから曜日を減算し、曜日名とともに結果を表示する方法
はじめにMySQLで保存された日付レコードから、その週の開始日(月曜日)を計算して減算し、曜日名とともに結果を表示したい場合があります。このような処理には DATE_FORMAT() 関数を使用します。SUBDATE() と WEEKDAY() を組み合わせることで、各日付が属する週の月曜日の日付を「Mon 19 Oct」のような形式で取得できます。以下、具体的な手順をサンプルコードとともに解説します。1. テーブルの作成まず、日付を文字列として格納するテーブルを作成します。mysql> create table DemoTable1820 ( AdmissionDate