Probleem:
U wilt dagen toevoegen aan een datum in een MySQL-database.
Voorbeeld:
Onze database heeft een tabel met de naam trip met gegevens in de kolommen id , city , en start_date .
| id | stad | startdatum |
|---|---|---|
| 1 | Chicago | 2019-06-22 |
| 2 | Houston | 2019-07-15 |
| 3 | Dallas | 2019-08-30 |
| 4 | Austin | 23-09-2019 |
Laten we twee dagen toevoegen aan de startdatums en de reissteden krijgen met de nieuwe startdatums.
Oplossing:
We gebruiken de DATE_ADD() functie. Dit is de vraag die je zou schrijven:
SELECT city,
DATE_ADD(start_date, INTERVAL 2 DAY)
AS later_date
FROM trip;
Dit is het resultaat van de zoekopdracht:
| stad | startdatum |
|---|---|
| Chicago | 2019-06-24 |
| Houston | 2019-07-17 |
| Dallas | 2019-09-01 |
| Austin | 25-09-2019 |
Discussie:
Gebruik de DATE_ADD() functie als u een bepaalde datum in een MySQL-database wilt verhogen. In ons voorbeeld hebben we elke startdatum met twee dagen verhoogd.
Deze functie heeft twee argumenten. Het eerste argument is de datum of datetime die u wilt wijzigen. Dit argument kan de naam zijn van een datum/datum/tijd-kolom of een expressie die een datum/datum/tijd-waarde retourneert. In ons voorbeeld gebruikten we de start_date kolom, die van het gegevenstype datum is.
Het tweede argument is de INTERVAL-operator gevolgd door een geheel getal dat het aantal eenheden aangeeft (in ons voorbeeld 2) en de datum/tijd-eenheid die moet worden toegevoegd (in ons voorbeeld DAG). U kunt meer vinden over intervaleenheden in de sectie Intervalexpressie en eenheidsargumenten van de MySQL-documentatie.
DATE_ADD() retourneert een nieuwe datum of datetime-waarde. In ons voorbeeld, de reis naar Houston heeft een nieuwe startdatum:‘2019-07-17’.