MySQLで現在の日付・時刻を挿入する方法(CURDATE()とNOW()の使い方)
MySQLで日付だけを登録したい場合はCURDATE()関数を使用します。一方、日付と時刻の両方を含む完全な日時を登録したい場合は、NOW()関数を使います。この記事では、それぞれの関数の使い方を具体的な例とともに解説します。
1. CURDATE()を使って日付のみを挿入する
まずはテーブルを作成しましょう。
mysql> create table CurDateDemo -> ( -> ArrivalDate datetime -> ); Query OK, 0 rows affected (0.74 sec)
次に、CURDATE()メソッドを使用して日付のみを挿入します。
mysql> insert into CurDateDemo values(curdate()); Query OK, 1 row affected (0.15 sec)
挿入結果の確認
SELECT文を使って挿入されたデータを表示してみましょう。
mysql> select *from CurDateDemo;
実行結果は以下の通りです。
+---------------------+ | ArrivalDate | +---------------------+ | 2018-11-23 00:00:00 | +---------------------+ 1 row in set (0.00 sec)
このように、CURDATE()を使うと時刻部分が「00:00:00」となり、日付のみが登録された状態になります。
2. NOW()を使って日付と時刻の両方を挿入する
続いて、日付と時刻の両方を登録するケースを見ていきましょう。まず新しいテーブルを作成します。
mysql> create table NowDemo -> ( -> ArrivalDate datetime -> ); Query OK, 0 rows affected (0.47 sec)
NOW()メソッドを使えば、日付と時刻を同時に挿入できます。レコードを挿入するクエリは以下の通りです。
mysql> insert into NowDemo values(now()); Query OK, 1 row affected (0.16 sec)
挿入結果の確認
データが正しく挿入されているか、SELECT文で確認します。
mysql> select *from NowDemo;
実行結果は以下の通りです。
+---------------------+ | ArrivalDate | +---------------------+ | 2018-11-23 17:31:26 | +---------------------+ 1 row in set (0.00 sec)
まとめ
- CURDATE():現在の日付のみを挿入したい場合に使用(時刻は00:00:00になる)
- NOW():現在の日付と時刻の両方を挿入したい場合に使用
用途に応じてこれら2つの関数を使い分けることで、MySQLでの日時データ管理を効率的に行えます。なお、DATETIME型以外にもDATE型やTIMESTAMP型との組み合わせも可能なので、テーブル設計時に適切な型を選択することをおすすめします。
-
【MySQL】すでに挿入されている日時レコードに「現在時刻−1時間」を設定する方法
はじめにMySQLで日時から時間を引いて計算したい場合は、DATE_SUB()関数を使用します。本記事では、テーブルにすでに挿入されている日時レコードに対して、「現在時刻から1時間を引いた値」を設定する方法を、実際のコード例とともに順を追って解説します。1. テーブルの作成まず、DATETIME型のカラムを持つテーブルを作成しましょう。mysql> create table DemoTable1434 -> ( -> ArrivalDatetime datetime -> );Query OK, 0 rows affected (3.14 sec)2.
-
MySQLで現在の日付に11日を追加する方法【DATE_ADD関数の使い方】
はじめにMySQLでは、DATE_ADD()関数を使うことで、日付に指定した日数を簡単に加算できます。本記事では、現在の日付(CURDATE())に11日を追加する方法を、テーブル作成からクエリ実行まで具体的な例を交えて解説します。サンプルテーブルの作成まず、デモ用のテーブルを作成しましょう。mysql> create table DemoTable1994 ( ArrivalDate date ); Query OK, 0 rows affected (5.33 sec)テストデータの挿入続いて、INSERTコマンドを使用してテーブルに複数のレコードを挿入します。mysql&g