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文を使ってテーブルにレコードを追加します。
mysql> insert into DemoTable1848 values('2019-10-11 12:30:45');
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1848 values('2019-01-12 10:00:00');
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1848 values('2019-12-03 17:30:00');
Query OK, 1 row affected (0.00 sec)3. テーブルの内容を確認する
SELECT文で、登録されたすべてのレコードを表示して確認しましょう。
mysql> select * from DemoTable1848;
上記のクエリを実行すると、次のような結果が出力されます。
+---------------------+ | ShippingDate | +---------------------+ | 2019-10-11 12:30:45 | | 2019-01-12 10:00:00 | | 2019-12-03 17:30:00 | +---------------------+ 3 rows in set (0.00 sec)
4. ADDTIME()関数で時間を追加する
ここからが本題です。ADDTIME()関数を使うと、DATETIME型の値に対して指定した時間を簡単に加算できます。以下は、各レコードの日時に「4時間40分」を追加するクエリです。
mysql> select addtime(ShippingDate,'4:40') from DemoTable1848;
実行結果は以下のとおりです。
+------------------------------+ | addtime(ShippingDate,'4:40') | +------------------------------+ | 2019-10-11 17:10:45 | | 2019-01-12 14:40:00 | | 2019-12-03 22:10:00 | +------------------------------+ 3 rows in set (0.00 sec)
まとめ
MySQLでDATETIME型の列に時間を追加するには、ADDTIME()関数を使用します。第2引数には「時:分」形式だけでなく、「時:分:秒」形式や日数を表す値も指定できるため、柔軟な日時計算が可能です。出荷日や締め切り日などに一定のリードタイムを加算したいケースなどで、ぜひ活用してみてください。
-
MySQLの列に新しい遅延時間を設定する方法
```html MySQLの列に新しい遅延時間を設定する方法 MySQLで列に新しい遅延時間を設定するには、INTERVALキーワードとDATE_ADD関数を組み合わせて使用します。また、UPDATE文とSET句を使えば、テーブルの列の値そのものを更新することも可能です。 ここでは、実際にテーブルを作成し、時刻データに秒を加算して新しい遅延時間を設定する手順を順番に見ていきましょう。 1. テーブルを作成する まず、TIME型の列を持つテーブルを作成します。 mysql> create table DemoTable ( DelayTime
-
MySQLで日付型(DATE)カラムを更新する方法をわかりやすく解説
MySQLでは、DATE_ADD()関数とUPDATE文を組み合わせることで、日付型(DATE)カラムの値を簡単に更新できます。この記事では、実際のSQL実行例を交えながら、日付カラムに1年を加算して更新する手順を解説します。 1. テーブルを作成する まず、日付型カラムを持つテーブルを作成します。 mysql> create table DemoTable1451 -> ( -> JoiningDate date -> ); Query OK, 0 rows affected (0.52 sec) ここでは「JoiningDate(入社日)」と