Probleem:
U wilt de datum van gisteren (zonder tijd) weergeven in een Oracle-database.
Oplossing 1:
SELECT TO_DATE(current_date - 1) AS yesterday_date FROM dual
Ervan uitgaande dat het vandaag 24-09-2020 is, is het resultaat:
| yesterday_date |
|---|
| 23-09-2020 |
Discussie:
Om de datum van gisteren te krijgen, moet u één dag van vandaag aftrekken. Gebruik current_date om de datum van vandaag te krijgen. In Oracle kunt u een willekeurig aantal dagen aftrekken door dat aantal van de huidige datum af te trekken. Omdat je hier één dag moet aftrekken, gebruik je current_date - 1 . Dan gebruik je de TO_DATE() functie om het resultaat te casten naar het kolomtype date .
U kunt heel gemakkelijk een willekeurig aantal dagen teruggaan, bijvoorbeeld zeven dagen.
SELECT TO_DATE(current_date - 7) AS date_week_ago FROM dual
U kunt ook een datum in de toekomst berekenen. Om bijvoorbeeld de datum van morgen te krijgen, voegt u er een toe aan current_date :
SELECT TO_DATE(current_date + 1) AS tomorrow_date FROM dual