Mục đích
Cập nhật phần ngày của cột datetime mà giữ nguyên phần giờ. Sử dụng INTERVAL và YEAR (hoặc DAY, MONTH) trong lệnh UPDATE.
1. Tạo bảng
mysql> create table DemoTable (
DueDate datetime
);
Query OK, 0 rows affected (0.56 sec)
2. Chèn dữ liệu
mysql> insert into DemoTable values('2017-08-12 10:30:45');
mysql> insert into DemoTable values('2015-09-21 12:00:00');
mysql> insert into DemoTable values('2018-12-31 11:45:56');
mysql> insert into DemoTable values('2016-01-02 01:23:04');
3. Xem dữ liệu ban đầu
mysql> select * from DemoTable;
+-----------------------+ | DueDate | +-----------------------+ | 2017-08-12 10:30:45 | | 2015-09-21 12:00:00 | | 2018-12-31 11:45:56 | | 2016-01-02 01:23:04 | +-----------------------+ 4 rows in set (0.00 sec)
4. Cập nhật: cộng 1 năm vào ngày (giờ không đổi)
mysql> update DemoTable set DueDate = DueDate + interval 1 year; Query OK, 4 rows affected (0.16 sec)
5. Kết quả sau cập nhật
mysql> select * from DemoTable;
+-----------------------+ | DueDate | +-----------------------+ | 2018-08-12 10:30:45 | | 2016-09-21 12:00:00 | | 2019-12-31 11:45:56 | | 2017-01-02 01:23:04 | +-----------------------+ 4 rows in set (0.00 sec)
Lưu ý: Cú pháp INTERVAL 1 YEAR cũng có thể thay bằng INTERVAL 30 DAY, INTERVAL 6 MONTH, v.v.