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.