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