現在の日付と特定の時刻を挿入するMySQLクエリの書き方
CONCAT()関数で現在の日付と時刻を組み合わせる
MySQLで現在の日付に特定の時刻を組み合わせた値を挿入したい場合は、CONCAT()関数を使用します。CURDATE()関数が返す現在の日付と、指定した時刻を文字列として連結することで、datetime型の値を生成できます。
構文は以下の通りです。
insert into DemoTable values(concat(curdate(), ' yourSpecificTime'));
テーブルの作成
まず、動作確認用のテーブルを作成しましょう。datetime型のカラムを1つ持つシンプルなテーブルです。
mysql> create table DemoTable
(
ArrivalDate datetime
);
Query OK, 0 rows affected (1.06 sec)現在の日付と時刻を含むレコードの挿入
次に、INSERTコマンドを使ってレコードを追加します。CURDATE()で取得した現在の日付に、任意の時刻(例:10:20:05)を連結して挿入します。
mysql> insert into DemoTable values(concat(curdate(), ' 10:20:05')); Query OK, 1 row affected (0.19 sec) mysql> insert into DemoTable values(concat(curdate(), ' 12:05:00')); Query OK, 1 row affected (0.17 sec)
挿入したレコードの確認
SELECT文を実行して、テーブル内のすべてのレコードを表示してみましょう。
mysql> select *from DemoTable;
出力結果
+---------------------+ | ArrivalDate | +---------------------+ | 2019-06-08 10:20:05 | | 2019-06-08 12:05:00 | +---------------------+ 2 rows in set (0.00 sec)
出力結果の通り、現在の日付(2019-06-08)に指定した時刻が組み合わされたdatetime型の値が正しく挿入されていることが確認できます。このようにCONCAT()関数とCURDATE()関数を組み合わせれば、現在の日付に任意の時刻を指定したデータを簡単に登録できます。なお、MySQL 8.0以降ではCURDATE()の代わりにCURRENT_DATEやCURDATE()のエイリアスであるCURRENT_DATE()も使用可能です。
-
MySQLで現在の日付(CURDATE())に一致する特定の日付のレコードを更新する方法
MySQLでは、CURDATE()関数を使うことで、現在の日付に一致するレコードだけを抽出し、UPDATE文で効率的に値を変更できます。本記事では、実際のサンプルを通じてその手順をわかりやすく解説します。 1. サンプルテーブルの作成 まず、デモ用のテーブルを作成します。ここでは「金額(Amount)」と「期日(DueDate)」を持つシンプルなテーブルを用意しました。 mysql> create table DemoTable1822 ( Amount int, Du
-
MySQLクエリで日付・時刻の値を秒単位で加算(インクリメント)する方法
MySQLで日付・時刻(DATETIME)の値に指定した秒数を加算したい場合は、DATE_ADD()関数とINTERVAL句を組み合わせて使用します。この記事では、実際にテーブルを作成し、秒単位で時刻をインクリメントする手順を具体例とともに解説します。 サンプルテーブルの作成 まず、DATETIME型のカラムを持つテーブルを作成しましょう。 mysql> create table DemoTable1867 ( ArrivalTime datetime &