Dưới đây là cú pháp để khớp ngày với hàm DATE() và cập nhật một cột:
UPDATE yourTableName SET yourColumnName = yourValue WHERE DATE(yourColumnName) = CURDATE();
Hãy cùng tạo một bảng trước:
mysql> CREATE TABLE DemoTable1816 (
Name VARCHAR(20),
JoiningDate DATETIME
); Query OK, 0 rows affected (0.00 sec)
Chèn một số bản ghi vào bảng bằng lệnh INSERT:
mysql> INSERT INTO DemoTable1816 VALUES('Chris','2019-11-29 12:34:50'); Query OK, 1 row affected (0.00 sec)
mysql> INSERT INTO DemoTable1816 VALUES('David','2019-11-30 11:00:00'); Query OK, 1 row affected (0.00 sec)
mysql> INSERT INTO DemoTable1816 VALUES('Mike','2018-11-30 10:20:30'); Query OK, 1 row affected (0.00 sec)
Hiển thị tất cả bản ghi từ bảng bằng lệnh SELECT:
mysql> SELECT * FROM DemoTable1816;
Kết quả sẽ như sau:
+-------+---------------------+ | Name | JoiningDate | +-------+---------------------+ | Chris | 2019-11-29 12:34:50 | | David | 2019-11-30 11:00:00 | | Mike | 2018-11-30 10:20:30 | +-------+---------------------+ 3 rows in set (0.00 sec)
Dưới đây là truy vấn để cập nhật một cột bằng cách khớp ngày:
mysql> UPDATE DemoTable1816 SET Name = 'Robert' WHERE DATE(JoiningDate) = CURDATE(); Query OK, 1 row affected (0.00 sec) Rows matched: 1 Changed: 1 Warnings: 0
Hãy kiểm tra lại các bản ghi trong bảng:
mysql> SELECT * FROM DemoTable1816;
Kết quả sẽ như sau:
+--------+---------------------+ | Name | JoiningDate | +--------+---------------------+ | Chris | 2019-11-29 12:34:50 | | Robert | 2019-11-30 11:00:00 | | Mike | 2018-11-30 10:20:30 | +--------+---------------------+ 3 rows in set (0.00 sec)