sql >> Database teknologi >  >> RDS >> MariaDB

8 måder at tilføje dage til en dato i MariaDB

MariaDB giver flere måder at tilføje et bestemt antal dage til en given dato. For eksempel vil du måske tilføje 10 dage til en dato, eller 30 dage eller endda kun 1 dag. Heldigvis gør MariaDB dette nemt.

Her er 8 måder at tilføje et antal dage til en given dato i MariaDB.

ADDDATE() Funktion

Lad os starte med ADDDATE() fungere.

Denne funktion har to forskellige syntakser. Den første syntaks giver en kortfattet måde at tilføje et bestemt antal dage til en dato.

Eksempel:

SELECT ADDDATE('2021-05-01', 10); 

Resultat:

+--------------------------------+| ADDDATE('2021-05-01', 10) |+--------------------------------+| 2021-05-11 |+--------------------------------+

Ved at bruge denne syntaks giver vi to argumenter. Det første argument er datoen, og det andet er antallet af dage, der skal føjes til den dato.

ADDDATE() Funktion – Syntaks 2

ADDDATE() funktion har også en mere udførlig syntaks. Denne syntaks giver os mulighed for at være mere eksplicitte i, hvordan vi føjer dagene til datoen.

Eksempel:

SELECT ADDDATE('2021-05-01', INTERVAL 10 DAY); 

Resultat:

+----------------------------------------+| ADDDATE('2021-05-01', INTERVAL 10 DAGE) |+---------------------------------------- ------+| 2021-05-11 |+------------------------------------------------+ 

I dette tilfælde bruger vi INTERVAL søgeord efterfulgt af antallet af dage efterfulgt af DAY søgeord.

INTERVAL nøgleordet bruges til at tilføje eller trække et tidsinterval til en DATETIME , DATE eller TIME værdi. Vi kan bruge det på datoer sammen med den gældende dato/tidsenhed for at tilføje et bestemt antal dage til vores dato. I vores tilfælde er dato/tidsenheden DAY , men det kunne lige så nemt være MONTH , ÅR , TIME osv., samt en række sammensatte enheder.

DATE_ADD() Funktion

DATE_ADD() funktion fungerer på samme måde som ADDDATE() når du bruger den verbose syntaks. Faktisk, når du bruger den verbose syntaks, ADDDATE() er et synonym for DATE_ADD() .

Eksempel:

VÆLG DATE_ADD('2021-05-01', INTERVAL 10 DAGE); 

Resultat:

+------------------------------------------------+| DATE_ADD('2021-05-01', INTERVAL 10 DAGE) |+---------------------------------------- -------+| 2021-05-11 |+------------------------------------------------+

SUBDATE() Funktion – Syntaks 1

SUBDATE() funktionen giver dig mulighed for at fratrække et beløb til en dato. Men hvis du angiver en negativ værdi at trække fra, så ender den med at blive tillagt til datoen.

Eksempel:

VÆLG SUBDATE('2021-05-01', -10); 

Resultat:

+------------------------------------+| SUBDATE('2021-05-01', -10) |+--------------------------------+| 2021-05-11 |+--------------------------------+

SUBDATE() Funktion – Syntaks 2

SUBDATE() funktion har også den mere udførlige syntaks (svarende til ADDDATE() funktion).

Eksempel:

VÆLG SUBDATE('2021-05-01', INTERVAL -10 DAGE); 

Resultat:

+------------------------------------------------+| SUBDATE('2021-05-01', INTERVAL -10 DAGE) |+---------------------------------------- --------+| 2021-05-11 |+------------------------------------------------+

DATE_SUB() Funktion

Her er et eksempel, der bruger DATE_SUB() funktion:

VÆLG DATE_SUB('2021-05-01', INTERVAL -10 DAGE); 

Resultat:

+--------------------------------------------------+| DATE_SUB('2021-05-01', INTERVAL -10 DAGE) |+---------------------------------------- ----------+| 2021-05-11 |+-------------------------------------------------+ 

+ Operatør

En anden mulighed er at bruge + operatør.

+ operatør bruges til at udføre tilføjelse, og vi kan bruge det på datoer sammen med den gældende dato/tidsenhed for at tilføje et bestemt antal dage til vores dato.

Eksempel:

VÆLG '2021-05-01' + INTERVAL 10 DAGE; 

Resultat:

+--------------------------------+| '2021-05-01' + INTERVAL 10 DAGE |+----------------------------------------+| 2021-05-11 |+--------------------------------+

- Operatør

- operator kan bruges til at trække et beløb fra en dato. Men hvis du trækker et negativt tal fra, så tilføjes et positivt beløb til datoen:

VÆLG '2021-05-01' - INTERVAL -10 DAGE; 

Resultat:

+--------------------------------+| '2021-05-01' - INTERVAL -10 DAGE |+----------------------------------------+| 2021-05-11 |+----------------------------------------+

BONUS:ADDTIME() Funktion

Jeg sagde, at denne artikel indeholder 8 måder at tilføje dage til en dato, men her er et par bonusfunktioner! Måske skulle jeg have kaldt denne artikel "10 måder at tilføje dage til en dato-tidsværdi" i stedet for.

I hvert fald kan du bruge ADDTIME() funktion til at tilføje et antal dage til et dato- og tidsudtryk.

Eksempel:

SELECT ADDTIME('2021-05-01 10:30:45', '1 0:0:0'); 

Resultat:

+----------------------------------------------+| ADDTIME('2021-05-01 10:30:45', '1 0:0:0') |+------------------------ -------------------+| 02-05-2021 10:30:45 |+------------------------------------------------ -----+

Du kan også ændre de andre tidsenheder, såsom timer, minutter, sekunder osv.

Du kan alternativt skifte rundt og bruge SUBTIME() med en negativ værdi, hvis du ønsker det:

VÆLG SUBTIME('2021-05-01 10:30:45', '-1 0:0:0'); 

Resultat:

+----------------------------------------------------+| SUBTIME('2021-05-01 10:30:45', '-1 0:0:0') |+----------------------------- ----------------------+| 2021-05-02 10:30:45 |+------------------------------------------------ ------+

Andre dato- og tidsenheder

Ovenstående eksempler tilføjer et antal dage til datoen, men vi kan bruge de samme teknikker til at tilføje enhver dato/tidsenhed. Vi bruger DAY som dato/tidsenhed, men som nævnt kunne det lige så nemt være MONTH , ÅR , TIME osv., såvel som enhver af de sammensatte enheder.

Se MariaDB dato- og tidsenheder for en komplet liste over dato-/tidsenheder, der kan bruges med ovenstående funktioner og operator.


  1. Begræns PostgreSQL brugeradgang ved hjælp af skema og visninger

  2. Hvordan får man ID for den sidst opdaterede række i MySQL?

  3. Forbind iPhone-appen til PostgreSQL ved hjælp af Libpq

  4. Navn på SQL Server variabel kolonner?