【MySQL】DATE_FORMAT()で時刻データをHH:MM形式のみで表示する方法
MySQLで時刻データをHH:MM形式のみで表示する方法
MySQLでは、DATE_FORMAT()関数を使うことで、TIME型の時刻データから秒を除いた「HH:MM(時:分)」形式のみを取得・表示できます。TIME型は内部的に「HH:MM:SS」形式で値を保持しているため、表示時にフォーマットを指定するのが一般的な方法です。
基本構文
select DATE_FORMAT(yourColumnName, "%H:%i") AS anyAliasName from yourTableName;
%Hは24時間表記の「時」(00〜23)、%iは「分」(00〜59)を表す書式指定子です。
サンプルテーブルの作成
まず、TIME型のカラムを持つテーブルを作成します。
mysql> create table DemoTable ( Arrivaltime time ); Query OK, 0 rows affected (0.61 sec)
レコードの挿入
insertコマンドでテーブルにデータを挿入します。
mysql> insert into DemoTable values('08:20');
Query OK, 1 row affected (0.19 sec)
mysql> insert into DemoTable values('05:40');
Query OK, 1 row affected (0.12 sec)
登録データの確認
select文でテーブル内の全レコードを表示してみましょう。
mysql> select *from DemoTable;
実行結果は以下の通りです。TIME型のため、秒まで表示されていることがわかります。
+-------------+ | Arrivaltime | +-------------+ | 08:20:00 | | 05:40:00 | +-------------+ 2 rows in set (0.00 sec)
DATE_FORMAT()でHH:MM形式のみを取得する
次のクエリを実行すると、時刻データを「HH:MM」形式のみで表示できます。
mysql> select DATE_FORMAT(Arrivaltime, "%H:%i") AS ONLY_HOUR_MINUTE from DemoTable;
実行結果:
+------------------+ | ONLY_HOUR_MINUTE | +------------------+ | 08:20 | | 05:40 | +------------------+ 2 rows in set (0.03 sec)
このようにDATE_FORMAT()関数を利用すれば、元のデータを変更することなく、表示や出力の際だけ時刻を「HH:MM」形式に整形することが可能です。画面表示やCSV出力など、秒が不要な場面でぜひ活用してください。
-
MySQLで列エイリアスを特定のデータ型として扱う方法(CASTとCASEの活用)
MySQLでは、符号なし整数型(UNSIGNED)の列をそのままSELECTすると、負の値を扱えないという制約があります。そこで、CASEステートメントとCAST関数を組み合わせることで、列エイリアスの結果を特定のデータ型(ここではSIGNED=符号付き整数)に強制的に変換する方法を紹介します。1. サンプルテーブルの作成まず、テスト用のテーブルを作成します。「Value」列はUNSIGNED型、「Status」列はTINYINT(1)型とします。mysql> create table DemoTable1505 -> ( &
-
MySQLでDATETIME型の列に時間を追加する方法|ADDTIME()関数の使い方を解説
DATETIME型の値に時間を加算したい場合、MySQLではADDTIME()関数を使うのが便利です。この記事では、実際にテーブルを作成し、サンプルデータを挿入しながら、ADDTIME()関数で時間を追加する手順をわかりやすく解説します。1. テーブルを作成するまず、DATETIME型の列を持つテーブルを作成します。mysql> create table DemoTable1848 ( ShippingDate datetime ); Query OK, 0 rows affected (0.00 sec)2. サンプルデータを挿入する次に、INSERT文を使って