Problem:
Du vill visa gårdagens datum (utan tid) i en MySQL-databas.
Lösning:
SELECT DATE_SUB(CURDATE(), INTERVAL 1 DAY) AS yesterday_date;
Om vi antar att det är 2020-09-24 idag är resultatet:
yesterday_date |
---|
2020-09-23 |
Diskussion:
För att få gårdagens datum måste du subtrahera en dag från dagens datum. Använd CURDATE()
för att få dagens datum. I MySQL kan du subtrahera vilket datumintervall som helst med DATE_SUB()
fungera. Här, eftersom du behöver subtrahera en dag, använder du DATE_SUB(CURDATE(), INTERVAL 1 DAY)
för att få gårdagens datum. Observera att resultatet av denna beräkning fortfarande har kolumntypdatumet.
Du kan gå tillbaka med vilket tidsintervall som helst lika enkelt. Här är ett exempel:
SELECT DATE_SUB(CURDATE(), INTERVAL 2 MONTH) AS date_two_months_ago;
Du kan också beräkna morgondagens datum mycket enkelt. Använd DATE_ADD()
funktion för att lägga till ett intervall till ett datum.
SELECT DATE_ADD(CURDATE(), INTERVAL 1 DAY) AS tomorrow_date;