Vấn đề:
Bạn muốn hiển thị ngày hôm qua (không tính thời gian) trong cơ sở dữ liệu MySQL.
Giải pháp:
SELECT DATE_SUB(CURDATE(), INTERVAL 1 DAY) AS yesterday_date;
Giả sử hôm nay là ngày 24 tháng 9 năm 2020, kết quả là:
today_date |
---|
2020-09-23 |
Thảo luận:
Để có được ngày của ngày hôm qua, bạn cần phải trừ đi một ngày từ ngày hôm nay. Sử dụng CURDATE()
để có được ngày hôm nay. Trong MySQL, bạn có thể trừ bất kỳ khoảng ngày nào bằng DATE_SUB()
hàm số. Ở đây, vì bạn cần trừ một ngày, bạn sử dụng DATE_SUB(CURDATE(), INTERVAL 1 DAY)
để có được ngày hôm qua. Lưu ý rằng kết quả của phép tính này vẫn có ngày loại cột.
Bạn có thể quay lại bất kỳ khoảng thời gian nào một cách dễ dàng. Đây là một ví dụ:
SELECT DATE_SUB(CURDATE(), INTERVAL 2 MONTH) AS date_two_months_ago;
Bạn cũng có thể tính toán ngày mai rất dễ dàng. Sử dụng DATE_ADD()
chức năng thêm một khoảng thời gian vào một ngày.
SELECT DATE_ADD(CURDATE(), INTERVAL 1 DAY) AS tomorrow_date;