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