Problem:
Du vil gerne tilføje dage til en dato i en MySQL-database.
Eksempel:
Vores database har en tabel med navnet trip
med data i kolonnerne id
, city
og start_date
.
id | by | startdato |
---|---|---|
1 | Chicago | 2019-06-22 |
2 | Houston | 2019-07-15 |
3 | Dallas | 2019-08-30 |
4 | Austin | 2019-09-23 |
Lad os tilføje to dage til startdatoerne og få rejsebyerne med de nye startdatoer.
Løsning:
Vi bruger DATE_ADD()
fungere. Her er den forespørgsel, du ville skrive:
SELECT city, DATE_ADD(start_date, INTERVAL 2 DAY) AS later_date FROM trip;
Her er resultatet af forespørgslen:
by | startdato |
---|---|
Chicago | 2019-06-24 |
Houston | 2019-07-17 |
Dallas | 2019-09-01 |
Austin | 2019-09-25 |
Diskussion:
Brug DATE_ADD()
funktion, hvis du ønsker at øge en given dato i en MySQL-database. I vores eksempel øgede vi hver startdato med to dage.
Denne funktion tager to argumenter. Det første argument er den dato eller datotid, du vil ændre. Dette argument kan være navnet på en dato/dato/klokkeslæt kolonne eller et udtryk, der returnerer en dato/dato/klokkeslæt værdi. I vores eksempel brugte vi start_date
kolonne, som er af datodatatypen.
Det andet argument er INTERVAL-operatoren efterfulgt af et heltal, der angiver antallet af enheder (i vores eksempel, 2) og dato/tidsenheden, der skal tilføjes (i vores eksempel, DAG). Du kan finde mere om intervalenheder i afsnittet Intervaludtryk og enhedsargumenter i MySQL-dokumentationen.
DATE_ADD()
returnerer en ny dato eller datetime-værdi. I vores eksempel er turen til Houston har en ny startdato:'2019-07-17'.