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

Chỉ thay đổi ngày, bỏ qua giờ trong cột datetime MySQL

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.