Computer >> Máy Tính >  >> Lập trình >> MySQL

Chỉ thay đổi ngày tháng, bỏ qua các bản ghi thời gian trong MySQL

Để chỉ thay đổi ngày chứ không phải thời gian, hãy sử dụng MySQL INTERVAL và YEAR. Vì chúng tôi sẽ cập nhật các bản ghi, do đó, hãy sử dụng UPDATE và đặt một giá trị mới với INTERVAL.

Hãy để chúng tôi xem một ví dụ và tạo một bảng -

mysql> create table DemoTable
(
   DueDate datetime
);
Query OK, 0 rows affected (0.56 sec)

Chèn một số bản ghi vào bảng bằng lệnh chèn -

mysql> insert into DemoTable values('2017-08-12 10 :30 :45');
Query OK, 1 row affected (0.18 sec)
mysql> insert into DemoTable values('2015-09-21 12 :00 :00');
Query OK, 1 row affected (0.12 sec)
mysql> insert into DemoTable values('2018-12-31 11 :45 :56');
Query OK, 1 row affected (0.15 sec)
mysql> insert into DemoTable values('2016-01-02 01 :23 :04');
Query OK, 1 row affected (0.14 sec)

Hiển thị tất cả các bản ghi từ bảng bằng câu lệnh select -

mysql> select *from DemoTable;

Điều này sẽ tạo ra kết quả sau -

+-----------------------+
| 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)

Sau đây là truy vấn để thay đổi tất cả các ngày nhưng không thay đổi các giá trị thời gian -

mysql> update DemoTable
   set DueDate=DueDate+interval 1 year;
Query OK, 4 rows affected (0.16 sec)
Rows matched : 4 Changed : 4 Warnings : 0

Hãy để chúng tôi kiểm tra các bản ghi bảng một lần nữa -

mysql> select *from DemoTable;

Điều này sẽ tạo ra kết quả sau -

+-----------------------+
| 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)