MySQLで日時から「時」と「分」だけを表示する方法|DATE_FORMAT関数の使い方
MySQLのDATETIME型カラムから「時」と「分」だけを取り出して表示したい場合は、DATE_FORMAT()関数を使用します。書式指定子として「%H」(時:24時間表記)と「%i」(分)を組み合わせるのがポイントです。
基本構文
時と分だけを表示するには、以下のように書式指定子を設定してDATE_FORMAT()を使用します。
SELECT date_format(カラム名, '%H:%i') AS 別名 FROM テーブル名;
サンプルテーブルの作成
まず、動作確認用のテーブルを作成しましょう。
mysql> create table DemoTable1527
-> (
-> ArrivalDatetime datetime
-> );
Query OK, 0 rows affected (0.76 sec)
レコードの挿入
INSERTコマンドを使って、いくつかのデータを登録します。
mysql> insert into DemoTable1527 values('2019-01-10 12:34:45');
Query OK, 1 row affected (0.18 sec)
mysql> insert into DemoTable1527 values('2018-12-12 11:00:34');
Query OK, 1 row affected (0.13 sec)
mysql> insert into DemoTable1527 values('2019-03-21 04:55:56');
Query OK, 1 row affected (0.18 sec)
登録データの確認
SELECT文でテーブル内の全レコードを表示してみます。
mysql> select * from DemoTable1527;
実行結果は以下の通りです。
+---------------------+
| ArrivalDatetime |
+---------------------+
| 2019-01-10 12:34:45 |
| 2018-12-12 11:00:34 |
| 2019-03-21 04:55:56 |
+---------------------+
3 rows in set (0.00 sec)
時と分だけを表示するクエリ
それでは、DATE_FORMAT()を使って「時」と「分」だけを表示するクエリを実行してみましょう。
mysql> select date_format(ArrivalDatetime,'%H:%i') as HourAndMinutes from DemoTable1527;
実行結果:
+----------------+
| HourAndMinutes |
+----------------+
| 12:34 |
| 11:00 |
| 04:55 |
+----------------+
3 rows in set (0.00 sec)
書式指定子の解説
- %H:時を24時間形式(00〜23)で表示します。
- %i:分を2桁(00〜59)で表示します。
このように、DATE_FORMAT()の書式指定子を自由に組み合わせれば、「HH:mm:ss」や「hh:mm A(午前・午後付き)」など、用途に応じたさまざまな時刻形式でデータを取得できます。アプリケーション側で整形せずに済むため、表示用のクエリとしては非常に便利な関数です。
-
MySQLでNULLを含む列からNULL以外(NOT NULL)の値だけを抽出して表示する方法
MySQLのIS NOT NULLを使ってNULL以外の値のみを表示するMySQLで、NULLとNULL以外のレコードが混在する列からNULL以外の値だけを取得したい場合は、IS NOT NULL演算子を使用します。この記事では、実際にテーブルを作成しながら手順を解説します。1. テーブルの作成まず、日付型の列を持つサンプルテーブルを作成します。mysql> create table DemoTable1 ( DueDate date ); Query OK, 0 ro
-
MySQL REGEXP句で括弧をエスケープする方法|「()」付きの特定の値だけを抽出する
MySQL REGEXP句で括弧をエスケープして特定の値を抽出する方法 MySQLのREGEXP句で正規表現を使う場合、括弧「(」と「)」はグループ化を意味する特殊文字(メタ文字)として扱われます。そのため、文字列に含まれる実際の括弧を検索したいときは、適切にエスケープする必要があります。本記事では、文字クラス「[(]」「[)]」を使って括弧をエスケープし、「()」で囲まれた値を含むレコードだけを抽出する方法を、実際のサンプルとともに解説します。 1. サンプルテーブルを作成する まず、検索対象となるテーブルを作成します。 mysql> create table DemoTable19