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

Cập nhật chỉ phần ngày (day) của cột DATE trong MySQL

Sử dụng DATE_FORMAT(date, '%Y-%m-25') trong UPDATE để đặt ngày cố định (25) nhưng giữ nguyên năm và tháng.

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

mysql> CREATE TABLE DemoTable (AdmissionDate DATE);
Query OK, 0 rows affected (1.38 sec)
mysql> INSERT INTO DemoTable VALUES('2019-05-12'), ('2019-05-18'), ('2019-04-19');
Query OK, 3 rows affected (0.52 sec)

Cập nhật ngày thành 25 cho tất cả hàng

mysql> UPDATE DemoTable SET AdmissionDate = DATE_FORMAT(AdmissionDate, '%Y-%m-25');
Query OK, 3 rows affected (0.44 sec)

Kết quả:

+---------------+
| AdmissionDate |
+---------------+
| 2019-05-25    |
| 2019-05-25    |
| 2019-04-25    |
+---------------+
3 rows in set (0.00 sec)

Cách khác (MySQL 8.0+): UPDATE DemoTable SET AdmissionDate = DATE_ADD(AdmissionDate, INTERVAL (25 - DAY(AdmissionDate)) DAY);

Lưu ý: DATE_FORMAT trả về chuỗi, MySQL tự chuyển sang DATE khi gán vào cột DATE.