Problem:
Du vill lägga till dagar till ett datum i en MySQL-databas.
Exempel:
Vår databas har en tabell som heter trip
med data i kolumnerna id
, city
och start_date
.
id | stad | startdatum |
---|---|---|
1 | Chicago | 2019-06-22 |
2 | Houston | 2019-07-15 |
3 | Dallas | 2019-08-30 |
4 | Austin | 2019-09-23 |
Låt oss lägga till två dagar till startdatumen och få resstäderna med de nya startdatumen.
Lösning:
Vi använder DATE_ADD()
fungera. Här är frågan du skulle skriva:
SELECT city, DATE_ADD(start_date, INTERVAL 2 DAY) AS later_date FROM trip;
Här är resultatet av frågan:
stad | startdatum |
---|---|
Chicago | 2019-06-24 |
Houston | 2019-07-17 |
Dallas | 2019-09-01 |
Austin | 2019-09-25 |
Diskussion:
Använd DATE_ADD()
funktion om du vill öka ett givet datum i en MySQL-databas. I vårt exempel ökade vi varje startdatum med två dagar.
Denna funktion tar två argument. Det första argumentet är datumet eller datumet som du vill ändra. Detta argument kan vara namnet på en datum/datumtid-kolumn eller ett uttryck som returnerar ett datum/datumtid-värde. I vårt exempel använde vi start_date
kolumn, som är av datumdatatypen.
Det andra argumentet är INTERVAL-operatorn följt av ett heltal som anger antalet enheter (i vårt exempel, 2) och datum/tidsenhet som ska läggas till (i vårt exempel, DAG). Du kan hitta mer om intervallenheter i avsnittet Intervalluttryck och enhetsargument i MySQL-dokumentationen.
DATE_ADD()
returnerar ett nytt datum eller datetime-värde. I vårt exempel, resan till Houston har ett nytt startdatum:'2019-07-17'.