Problem:
Chcesz wyświetlić wczorajszą datę (bez czasu) w bazie danych Oracle.
Rozwiązanie 1:
SELECT TO_DATE(current_date - 1) AS yesterday_date FROM dual
Zakładając, że dzisiaj jest 24.09.2020 r., wynik jest następujący:
yesterday_date |
---|
23.09.2020 |
Dyskusja:
Aby uzyskać wczorajszą datę, musisz odjąć jeden dzień od dzisiejszego. Użyj current_date
aby uzyskać dzisiejszą datę. W Oracle możesz odjąć dowolną liczbę dni, po prostu odejmując tę liczbę od bieżącej daty. Tutaj, ponieważ musisz odjąć jeden dzień, użyj current_date - 1
. Następnie użyj TO_DATE()
funkcja rzutowania wyniku na kolumnę typu date
.
Możesz bardzo łatwo cofnąć się o dowolną liczbę dni, np. o siedem dni.
SELECT TO_DATE(current_date - 7) AS date_week_ago FROM dual
Możesz także obliczyć datę w przyszłości. Na przykład, aby uzyskać jutrzejszą datę, dodajesz ją do current_date
:
SELECT TO_DATE(current_date + 1) AS tomorrow_date FROM dual