Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MySQL

Cộng 30 ngày vào cột DATE trong MySQL với INTERVAL

Giới thiệu

Để thực hiện phép toán ngày tháng, MySQL cung cấp từ khóa INTERVAL kết hợp với đơn vị thời gian (DAY, MONTH, YEAR, HOUR...). Bài viết demo cộng 30 ngày vào cột ArrivalDate.

Ví dụ thực hành

1. Tạo bảng DemoTable814

mysql> CREATE TABLE DemoTable814 (ArrivalDate DATE);

2. Chèn dữ liệu

mysql> INSERT INTO DemoTable814 VALUES
    ('2018-12-02'),('2017-03-12'),('2019-12-23'),('2016-06-01'),('2019-08-03');

3. Truy vấn cộng 30 ngày

mysql> SELECT ArrivalDate + INTERVAL 30 DAY FROM DemoTable814;

4. Kết quả

+------------------------------+
| ArrivalDate + INTERVAL 30 DAY |
+------------------------------+
| 2019-01-01                   |
| 2017-04-11                   |
| 2020-01-22                   |
| 2016-07-01                   |
| 2019-09-02                   |
+------------------------------+

Cập nhật dữ liệu (UPDATE)

-- Cập nhật trực tiếp cột
UPDATE DemoTable814 SET ArrivalDate = ArrivalDate + INTERVAL 30 DAY;

-- Hoặc chỉ cập nhật một số hàng
UPDATE DemoTable814 SET ArrivalDate = ArrivalDate + INTERVAL 30 DAY WHERE Id = 1;

Các đơn vị INTERVAL thường dùng

Đơn vịVí dụ
SECONDINTERVAL 30 SECOND
MINUTEINTERVAL 15 MINUTE
HOURINTERVAL 2 HOUR
DAYINTERVAL 30 DAY
MONTHINTERVAL 1 MONTH
YEARINTERVAL 1 YEAR

Lưu ý

  • Phép cộng/trừ tháng có thể thay đổi ngày (ví dụ 31/01 + 1 tháng = 28/02 hoặc 29/02).
  • Dùng DATE_ADD() / DATE_SUB() cho cú pháp hàm: DATE_ADD(ArrivalDate, INTERVAL 30 DAY).
  • Có thể kết hợp nhiều đơn vị: INTERVAL 1 YEAR 2 MONTH.