Problème :
Vous souhaitez afficher la date d'hier (sans l'heure) dans une base de données MySQL.
Solution :
SELECT DATE_SUB(CURDATE(), INTERVAL 1 DAY) AS yesterday_date;
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 à la date d'aujourd'hui. Utilisez CURDATE()
pour obtenir la date d'aujourd'hui. Dans MySQL, vous pouvez soustraire n'importe quel intervalle de date en utilisant le DATE_SUB()
une fonction. Ici, puisque vous devez soustraire un jour, vous utilisez DATE_SUB(CURDATE(), INTERVAL 1 DAY)
pour obtenir la date d'hier. Notez que le résultat de ce calcul a toujours le type de colonne date.
Vous pouvez revenir en arrière par n'importe quel intervalle de temps tout aussi facilement. Voici un exemple :
SELECT DATE_SUB(CURDATE(), INTERVAL 2 MONTH) AS date_two_months_ago;
Vous pouvez également calculer la date de demain très facilement. Utilisez le DATE_ADD()
fonction pour ajouter un intervalle à une date.
SELECT DATE_ADD(CURDATE(), INTERVAL 1 DAY) AS tomorrow_date;