Problem:
Du vil gerne vise gårsdagens dato (uden tid) i en MySQL-database.
Løsning:
SELECT DATE_SUB(CURDATE(), INTERVAL 1 DAY) AS yesterday_date;
Forudsat at i dag er 2020-09-24, er resultatet:
yesterday_date |
---|
2020-09-23 |
Diskussion:
For at få gårsdagens dato skal du trække en dag fra dagens dato. Brug CURDATE()
for at få dagens dato. I MySQL kan du trække ethvert datointerval fra ved hjælp af DATE_SUB()
fungere. Her, da du skal trække en dag fra, bruger du DATE_SUB(CURDATE(), INTERVAL 1 DAY)
for at få gårsdagens dato. Bemærk, at resultatet af denne beregning stadig har kolonnetypedatoen.
Du kan gå tilbage med et hvilket som helst tidsinterval lige så nemt. Her er et eksempel:
SELECT DATE_SUB(CURDATE(), INTERVAL 2 MONTH) AS date_two_months_ago;
Du kan også meget nemt beregne morgendagens dato. Brug DATE_ADD()
funktion for at tilføje et interval til en dato.
SELECT DATE_ADD(CURDATE(), INTERVAL 1 DAY) AS tomorrow_date;