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 Oracle.
Giải pháp 1:
SELECT TO_DATE(current_date - 1) AS yesterday_date FROM dual
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 cho ngày hôm nay. Sử dụng current_date để có được ngày hôm nay. Trong Oracle, bạn có thể trừ bất kỳ số ngày nào đơn giản bằng cách trừ số đó cho ngày hiện tại. Ở đây, vì bạn cần trừ một ngày, bạn sử dụng current_date - 1 . Sau đó, bạn sử dụng TO_DATE() hàm truyền kết quả đến loại cột date .
Bạn có thể quay lại bất kỳ số ngày nào bạn muốn rất dễ dàng, chẳng hạn như bảy ngày.
SELECT TO_DATE(current_date - 7) AS date_week_ago FROM dual
Bạn cũng có thể tính toán một ngày trong tương lai. Ví dụ:để có ngày mai, bạn thêm một vào current_date :
SELECT TO_DATE(current_date + 1) AS tomorrow_date FROM dual