Problème :
Vous souhaitez afficher la date d'hier (sans l'heure) dans une base de données Oracle.
Solution 1 :
SELECT TO_DATE(current_date - 1) AS yesterday_date FROM dual
En supposant qu'aujourd'hui soit le 2020-09-24, le résultat est :
date_hier |
---|
2020-09-23 |
Discussion :
Pour obtenir la date d'hier, vous devez soustraire un jour à aujourd'hui. Utilisez current_date
pour obtenir la date d'aujourd'hui. Dans Oracle, vous pouvez soustraire n'importe quel nombre de jours simplement en soustrayant ce nombre de la date actuelle. Ici, puisque vous devez soustraire un jour, vous utilisez current_date - 1
. Ensuite, vous utilisez le TO_DATE()
fonction pour convertir le résultat en colonne de type date
.
Vous pouvez très facilement revenir en arrière de n'importe quel nombre de jours, par exemple de sept jours.
SELECT TO_DATE(current_date - 7) AS date_week_ago FROM dual
Vous pouvez également calculer une date dans le futur. Par exemple, pour obtenir la date de demain, vous en ajoutez un à current_date
:
SELECT TO_DATE(current_date + 1) AS tomorrow_date FROM dual