Date_ADD() 関数を使用して、MySQL で日付と時刻を追加する

Mehvish Ashiq 2023年6月20日
  1. MySQL の DATE_ADD() メソッド
  2. テーブルを作成し、MySQL にデータを挿入する
  3. DATE_ADD() 関数を使用して MySQL で日数を追加する
  4. DATE_ADD() 関数を使用して MySQL で月と年を加算する
  5. DATE_ADD() 関数を使用して、MySQL で時間、分、および秒を追加する
  6. DATE_ADD() 関数を使用して、MySQL で日付と時刻を加算または減算する
Date_ADD() 関数を使用して、MySQL で日付と時刻を追加する

このチュートリアルでは、DATE_ADD() 関数を使用して MySQL で日付と時刻を追加する方法を示します。 日、年、月、時間を個別に加算または短縮し、2つを組み合わせる方法 (たとえば、日と時間) を学習します。

MySQL の DATE_ADD() メソッド

DATE_ADD() メソッドを使用して、間隔を DATETIME または DATE タイプの値に追加できます。 2つの引数を受け入れます。

最初の引数は start_date で、開始日です。 DATE/DATETIME タイプにすることができます。

2 番目の引数は INTERVAL expression unit です。これは、指定された start_date の値に追加する必要がある間隔値です。 このメソッドで使用できる ユニット のリストを見つけることができます。

最初の引数が DATETIME の場合、または間隔値に時間要素 (時、分、または秒) が含まれている場合は、DATETIME 値を返します。 それ以外の場合は文字列を返します。

テーブルを作成し、MySQL にデータを挿入する

DATE_ADD() メソッドを学ぶために、idcountry_name、および startDate 列を持つ trips という名前のテーブルを作成しましょう。ここで、startDateDATETIME 型です。 また、trips テーブルを作成し、以下に示すランダム データを入力することもできます。

CREATE TABLE trips(
  id INT NOT NULL AUTO_INCREMENT,
  country_name VARCHAR(45) NOT NULL,
  startDate DATETIME NOT NULL,
  PRIMARY KEY (id));

INSERT INTO trips (country_name, startDate) VALUES
('Pakistan', '2019-01-27 01:23:34'),
('USA', '2019-02-22 12:34:05'),
('Turkey', '2020-05-14 08:03:02'),
('India', '2020-01-21 11:20:04');

SELECT * FROM trips;

出力:

| id   | country_name | startDate           |
| ---- | ------------ | ------------------- |
| 1    | Pakistan     | 2019-01-27 01:23:34 |
| 2    | USA          | 2019-02-22 12:34:05 |
| 3    | Turkey       | 2020-05-14 08:03:02 |
| 4    | India        | 2020-01-21 11:20:04 |

DATE_ADD() 関数を使用して MySQL で日数を追加する

trips テーブルの startDate に 2 日を追加します。ここで、id は 3 です。

コード例:

UPDATE trips
SET startDate = DATE_ADD(startDate , INTERVAL 2 DAY)
WHERE id = 3;

出力:

| id   | country_name | startDate           |
| ---- | ------------ | ------------------- |
| 1    | Pakistan     | 2019-01-27 01:23:34 |
| 2    | USA          | 2019-02-22 12:34:05 |
| 3    | Turkey       | 2020-05-16 08:03:02 |
| 4    | India        | 2020-01-21 11:20:04 |

次のように日を引くこともできます。

コード例:

UPDATE trips
SET startDate = DATE_ADD(startDate , INTERVAL -2 DAY)
WHERE id = 1;

出力:

| id   | country_name | startDate           |
| ---- | ------------ | ------------------- |
| 1    | Pakistan     | 2019-01-25 01:23:34 |
| 2    | USA          | 2019-02-22 12:34:05 |
| 3    | Turkey       | 2020-05-16 08:03:02 |
| 4    | India        | 2020-01-21 11:20:04 |

DATE_ADD() 関数を使用して MySQL で月と年を加算する

日と同様に、年と月を追加することもできます。 年または月をマイナスするには、マイナス (-ve) 記号を使用して式を記述します。

コード例:

#add month
UPDATE trips
SET startDate = DATE_ADD(startDate , INTERVAL 1 MONTH)
WHERE id = 1;

#add year
UPDATE trips
SET startDate = DATE_ADD(startDate , INTERVAL 1 YEAR)
WHERE id = 1;

出力:

| id   | country_name | startDate           |
| ---- | ------------ | ------------------- |
| 1    | Pakistan     | 2020-02-25 01:23:34 |
| 2    | USA          | 2019-02-22 12:34:05 |
| 3    | Turkey       | 2020-05-16 08:03:02 |
| 4    | India        | 2020-01-21 11:20:04 |

DATE_ADD() 関数を使用して、MySQL で時間、分、および秒を追加する

trips テーブルの startDate に 1 時間、分、秒を追加します。ここで、id は 4 です。

コード例:

#add hours
UPDATE trips
SET startDate = DATE_ADD(startDate , INTERVAL 1 HOUR)
WHERE id = 4;

#add minutes
UPDATE trips
SET startDate = DATE_ADD(startDate , INTERVAL 1 MINUTE)
WHERE id = 4;

#add seconds
UPDATE trips
SET startDate = DATE_ADD(startDate , INTERVAL 1 SECOND)
WHERE id = 4;

出力:

| id   | country_name | startDate           |
| ---- | ------------ | ------------------- |
| 1    | Pakistan     | 2020-02-25 01:23:34 |
| 2    | USA          | 2019-02-22 12:34:05 |
| 3    | Turkey       | 2020-05-16 08:03:02 |
| 4    | India        | 2020-01-21 12:21:05 |

DATE_ADD() 関数を使用して、MySQL で日付と時刻を加算または減算する

trips テーブルの startDate に 2 時間 2 分を追加します。ここで、id は 3 です。

#add hours and minutes
UPDATE trips
SET startDate = DATE_ADD(startDate , INTERVAL '2:2' HOUR_MINUTE)
WHERE id = 3;

出力:

| id   | country_name | startDate           |
| ---- | ------------ | ------------------- |
| 1    | Pakistan     | 2020-02-25 01:23:34 |
| 2    | USA          | 2019-02-22 12:34:05 |
| 3    | Turkey       | 2020-05-16 10:05:02 |
| 4    | India        | 2020-01-21 12:21:05 |

同様に、DAY_HOURYEAR_MONTH、および more を使用できます。

著者: Mehvish Ashiq
Mehvish Ashiq avatar Mehvish Ashiq avatar

Mehvish Ashiq is a former Java Programmer and a Data Science enthusiast who leverages her expertise to help others to learn and grow by creating interesting, useful, and reader-friendly content in Computer Programming, Data Science, and Technology.

LinkedIn GitHub Facebook

関連記事 - MySQL Date