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