sql >> Database teknologi >  >> RDS >> Mysql

Sådan tilføjer du dage til en dato i MySQL

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'.


  1. INSERT INTO @TABLE EXEC @query med SQL Server 2000

  2. Programmatisk hente SQL Server lagret procedure kilde, der er identisk med kilden returneret af SQL Server Management Studio gui?

  3. Konverter interval til minutter

  4. Hvordan henter man et sæt tegn ved hjælp af SUBSTRING i SQL?