MySQLでDATETIME型の日時に日数を追加する方法
MySQLでは、DATE_ADD()関数を使うことで、DATETIME型の値に指定した日数を簡単に追加できます。この記事では、実際にテーブルを作成し、日時フィールドに日数を加算するまでの手順を具体例とともに解説します。
1. テーブルの作成
まず、DATETIME型のカラムを持つテーブルを作成します。
mysql> create table DemoTable1871 ( ArrivalDate datetime ); Query OK, 0 rows affected (0.00 sec)
2. サンプルデータの挿入
INSERT文を使って、テーブルにレコードを登録します。
mysql> insert into DemoTable1871 values('2019-12-19 7:45:00');
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1871 values('2018-11-10 12:00:00');
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1871 values('2019-01-31');
Query OK, 1 row affected (0.00 sec)
3. 登録データの確認
SELECT文ですべてのレコードを表示してみましょう。
mysql> select * from DemoTable1871;
実行結果は以下のとおりです。
+---------------------+ | ArrivalDate | +---------------------+ | 2019-12-19 07:45:00 | | 2018-11-10 12:00:00 | | 2019-01-31 00:00:00 | +---------------------+ 3 rows in set (0.00 sec)
4. DATE_ADD関数で日数を追加するUPDATE文
ここが本題です。DATE_ADD()関数とINTERVAL句を組み合わせることで、既存の日時にまとめて6日間を加算できます。
mysql> update DemoTable1871 set ArrivalDate=date_add(ArrivalDate, interval 6 day); Query OK, 3 rows affected (0.00 sec) Rows matched: 3 Changed: 3 Warnings: 0
5. 更新結果の確認
もう一度SELECT文を実行して、更新後のデータを確認します。
mysql> select * from DemoTable1871;
実行結果は以下のとおりです。すべての日付が6日後に更新されていることがわかります。
+---------------------+ | ArrivalDate | +---------------------+ | 2019-12-25 07:45:00 | | 2018-11-16 12:00:00 | | 2019-02-06 00:00:00 | +---------------------+ 3 rows in set (0.00 sec)
補足:DATE_ADD関数の使い方のポイント
DATE_ADD(日時, INTERVAL 数値 単位)の形式で記述します。- 単位には
day(日)以外にも、month(月)、year(年)、hour(時間)、minute(分)などが利用できます。 - 数値に負の値を指定すれば、日時を過去方向へ移動させることも可能です。
- 同様の処理は
ADDDATE()関数でも実行できます。
-
C#のDateTime.Add()メソッドとは?構文と使い方を実例付きで解説
C#のDateTime.Add()メソッドは、指定したTimeSpanの値を現在のDateTimeインスタンスに加算し、その結果として新しいDateTimeオブジェクトを返すメソッドです。元のインスタンス自体は変更されず、計算結果が新しいオブジェクトとして生成される点が特徴です。基本構文DateTime.Add()メソッドの構文は以下の通りです。public DateTime Add (TimeSpan val);引数 val には、加算する時間間隔を表す TimeSpan を指定します。正の値を渡せば日時が進み、負の値を渡せば日時が遡ります。使用例1:日付を加算するまずは、115日分のTim
-
C#のDateTimeで現在の日付に日数を追加する方法
C#では、DateTime構造体を使うことで、現在の日付に対して簡単に日数を追加できます。この記事では、その基本的な手順とサンプルコードを紹介します。 手順1:現在の日付を取得する まず、DateTime.Todayプロパティを使って、現在の日付(時刻は午前0時)を取得します。 DateTime.Today 手順2:AddDays()メソッドで日数を追加する 次に、AddDays()メソッドを使用して、取得した日付に日数を加算します。以下の例では、現在の日付に10日を追加しています。 DateTime.Today.AddDays(10) なお、AddDays()には負の値も渡せるため、例えばA