sql >> Databasteknik >  >> RDS >> Mysql

Hur man får gårdagens datum i MySQL

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;

  1. finns det något sätt att logga alla misslyckade SQL-satser i Oracle 10g

  2. SQL JOIN vs IN prestanda?

  3. Få maxvärde från rader och gå med i en annan tabell

  4. Varför går SQL-id-sekvenser ur synk (särskilt med Postgres)?