Sử dụng DATEDIFF(date1, date2) trả về số ngày chênh lệch. So sánh với 0 để kiểm tra trùng khớp ngày mai.
Tạo bảng và dữ liệu
mysql> CREATE TABLE DemoTable (ShippingDate DATETIME); Query OK, 0 rows affected (0.90 sec)
mysql> INSERT INTO DemoTable VALUES('2019-07-01'), ('2019-07-02'), ('2019-07-03'), ('2019-07-04');
Query OK, 4 rows affected (0.29 sec)
Truy vấn tìm hàng có ShippingDate = ngày mai
Giả sử hôm nay 2019-07-01, ngày mai 2019-07-02
mysql> SELECT * FROM DemoTable
-> WHERE DATEDIFF(ShippingDate, DATE_ADD(CURDATE(), INTERVAL 1 DAY)) = 0;
Kết quả:
+---------------------+ | ShippingDate | +---------------------+ | 2019-07-02 00:00:00 | +---------------------+ 1 row in set (0.08 sec)
Giải thích:
DATE_ADD(CURDATE(), INTERVAL 1 DAY): ngày maiDATEDIFF(ShippingDate, tomorrow)= 0 → cùng ngàyDATEDIFFbỏ qua phần giờ, chỉ so sánh ngày
Cách đơn giản hơn: WHERE DATE(ShippingDate) = DATE_ADD(CURDATE(), INTERVAL 1 DAY)