MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

MySQLでDATETIMEから日付と時刻を分離する方法を解説

MySQLでは、DATETIME型のカラムから日付(DATE)と時刻(TIME)を個別に取り出したい場面がよくあります。このような場合に活用できるのが、DATE_FORMAT()関数です。フォーマット指定子を使い分けることで、同じDATETIME値から日付部分だけ、時刻部分だけを自由に抽出できます。

DATE_FORMAT()関数の基本構文

日付と時刻を分離する基本的な構文は以下の通りです。

SELECT DATE_FORMAT(yourColumnName, '%Y-%m-%d') AS 変数名,
DATE_FORMAT(yourColumnName, '%H:%i:%s') AS 変数名
FROM yourTableName;

使用しているフォーマット指定子の意味は次の通りです。

  • %Y:年(4桁)
  • %m:月(01〜12)
  • %d:日(01〜31)
  • %H:時(00〜23)
  • %i:分(00〜59)
  • %s:秒(00〜59)

実際に動作を確認してみよう

ここからは、サンプルテーブルを作成してDATE_FORMAT()関数の使い方を具体的に確認していきます。

1. テーブルの作成

まず、「datetime」型のカラムを持つテーブルを作成します。

mysql> create table DateAndTimePartDemo
-> (
-> YourDateandtime datetime
-> );
Query OK, 0 rows affected (0.56 sec)

2. 現在の日付・時刻を挿入

次に、now()関数を使って現在の日付と時刻をレコードとして挿入します。

mysql> insert into DateAndTimePartDemo values(now());
Query OK, 1 row affected (0.37 sec)

3. レコードの確認

SELECT文で登録されたデータを表示します。

mysql> select * from DateAndTimePartDemo;

実行結果は以下のようになります。現在の日付と時刻が格納されていることがわかります。

+---------------------+
| YourDateandtime |
+---------------------+
| 2018-11-24 13:40:36 |
+---------------------+
1 row in set (0.00 sec)

DATE_FORMAT()で日付と時刻を分離する

それでは、このDATETIME値をDATE_FORMAT()関数を使って日付と時刻に分割してみましょう。クエリは以下の通りです。

mysql> SELECT DATE_FORMAT(YourDateandtime, '%Y-%m-%d') AS OnlyYourDate,
-> DATE_FORMAT(YourDateandtime, '%H:%i:%s') AS OnlyYourTime
-> FROM DateAndTimePartDemo;

実行すると、1つのDATETIME値が日付と時刻の2つの列にきれいに分離されます。

+--------------+--------------+
| OnlyYourDate | OnlyYourTime |
+--------------+--------------+
| 2018-11-24 | 13:40:36 |
+--------------+--------------+
1 row in set (0.03 sec)

補足:DATE()関数とTIME()関数を使う方法

DATE_FORMAT()以外にも、MySQLには日付と時刻を抽出するための専用関数が用意されています。

SELECT DATE(YourDateandtime) AS OnlyYourDate,
TIME(YourDateandtime) AS OnlyYourTime
FROM DateAndTimePartDemo;
  • DATE():DATETIME値から「YYYY-MM-DD」形式の日付部分を返します。
  • TIME():DATETIME値から「HH:MM:SS」形式の時刻部分を返します。

標準的な形式でそのまま取得したい場合はこちらの方がシンプルですが、独自のフォーマット(例:「2024年11月24日」など)で出力したい場合はDATE_FORMAT()が便利です。用途に応じて使い分けるとよいでしょう。

  1. Swiftで現在の日付と時刻を取得する方法(UTC・ローカル時刻対応)

    日付や時刻の処理は、プログラミング初心者がつまずきやすいポイントのひとつです。ほとんどのアプリでは現在の日付を取得する必要があり、予約管理、ログ記録、期限チェックなど、多くの機能がこの情報に依存しています。 本記事では、Swiftを使ってiOSアプリで現在の日付と時刻を取得する基本的な方法を解説します。具体的には、UTC(協定世界時)の時刻と、デバイスのタイムゾーンに基づく現地時刻の2パターンを紹介します。 UTC(協定世界時)の現在時刻を取得する UTCの時刻を取得したい場合は、Playgroundに以下のコードを貼り付けて実行してください。わずか2行で完了します。 let utcDate

  2. MySQLで文字列から日付を抽出する方法|SUBSTRING_INDEX関数の実践的な使い方

    MySQLで文字列から日付を抽出するには?MySQLで文字列の中から日付部分だけを取り出したい場合、SUBSTRING_INDEX() 関数を使うのが便利です。この関数は、指定した区切り文字を基準に文字列を分割し、必要な部分を取得できます。ここでは、実際にテーブルを作成し、文章の中に含まれる日付(例:12/31/2018)を抽出する手順を解説します。1. サンプルテーブルを作成するまず、文字列を格納するためのテーブルを作成します。mysql> create table DemoTable -> ( -> Title text -> );Query OK