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

Thêm 1 năm vào tất cả bản ghi ngày tháng trong cột MySQL

Cộng thêm khoảng thời gian vào cột DATETIME với DATE_ADD()

Hàm DATE_ADD(ngay, INTERVAL gia_tri don_vi) trả về ngày mới sau khi cộng khoảng thời gian.

Tạo bảng và dữ liệu

mysql> create table DemoTable ( JoiningDate datetime ); 
mysql> insert into DemoTable values('2015-01-21'); 
mysql> insert into DemoTable values('2017-04-02'); 
mysql> insert into DemoTable values('2018-12-31');

Truy vấn cộng 1 năm

mysql> select date_add(JoiningDate, interval 1 year) from DemoTable;

Kết quả

+----------------------------------------+ 
| date_add(JoiningDate, interval 1 year) | 
+----------------------------------------+ 
| 2016-01-21 00:00:00                    | 
| 2018-04-02 00:00:00                    | 
| 2019-12-31 00:00:00                    | 
+----------------------------------------+

Các đơn vị INTERVAL phổ biến:

Cập nhật dữ liệu thực tế (UPDATE):

UPDATE DemoTable SET JoiningDate = DATE_ADD(JoiningDate, INTERVAL 1 YEAR);

Lưu ý: DATE_ADD xử lý tự động ngày cuối tháng (VD: 2020-01-31 + 1 MONTH = 2020-02-29 năm nhuận, 2020-02-28 năm thường).

Đơn vịVí dụ
SECONDINTERVAL 30 SECOND
MINUTEINTERVAL 45 MINUTE
HOURINTERVAL 2 HOUR
DAYINTERVAL 10 DAY
WEEKINTERVAL 3 WEEK
MONTHINTERVAL 6 MONTH
QUARTERINTERVAL 1 QUARTER
YEARINTERVAL 1 YEAR