sql >> Databasteknik >  >> RDS >> MariaDB

8 sätt att lägga till dagar till ett datum i MariaDB

MariaDB erbjuder flera sätt att lägga till ett visst antal dagar till ett givet datum. Du kanske till exempel vill lägga till 10 dagar till ett datum, eller 30 dagar, eller till och med bara 1 dag. Lyckligtvis gör MariaDB detta enkelt.

Här är 8 sätt att lägga till ett antal dagar till ett givet datum i MariaDB.

ADDDATE() Funktion

Låt oss börja med ADDDATE() fungera.

Denna funktion har två olika syntaxer. Den första syntaxen ger ett kortfattat sätt att lägga till ett visst antal dagar till ett datum.

Exempel:

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

Resultat:

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

Med denna syntax tillhandahåller vi två argument. Det första argumentet är datumet och det andra är antalet dagar att lägga till det datumet.

ADDDATE() Funktion – Syntax 2

ADDDATE() funktion har också en mer utförlig syntax. Denna syntax gör att vi kan vara mer tydliga i hur vi lägger till dagar till datumet.

Exempel:

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

Resultat:

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

I det här fallet använder vi INTERVAL nyckelord, följt av antalet dagar, följt av DAY nyckelord.

INTERVAL nyckelord används för att lägga till eller subtrahera ett tidsintervall till en DATETIME , DATE eller TIME värde. Vi kan använda det på datum, tillsammans med tillämplig datum/tidsenhet för att lägga till ett visst antal dagar till vårt datum. I vårt fall är datum-/tidsenheten DAY , men det kan lika gärna vara MONTH , YEAR , HOUR , etc, samt ett antal sammansatta enheter.

DATE_ADD() Funktion

DATE_ADD() Funktionen fungerar på samma sätt som ADDDATE() när du använder den utförliga syntaxen. Faktum är att när du använder den utförliga syntaxen, ADDDATE() är en synonym för DATE_ADD() .

Exempel:

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

Resultat:

+------------------------------------------------+| DATE_ADD('2021-05-01', INTERVALL 10 DAG) |+---------------------------------------- -------+| 2021-05-11 |+------------------------------------------------+

SUBDATE() Funktion – Syntax 1

SUBDATE() funktionen låter dig subtrahera ett belopp till ett datum. Men om du anger ett negativt värde att subtrahera, slutar det med att det läggs till till datumet.

Exempel:

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

Resultat:

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

SUBDATE() Funktion – Syntax 2

SUBDATE() Funktionen har också den mer utförliga syntaxen (liknande ADDDATE() funktion).

Exempel:

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

Resultat:

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

DATE_SUB() Funktion

Här är ett exempel som använder DATE_SUB() funktion:

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

Resultat:

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

+ Operatör

Ett annat alternativ är att använda + operatör.

+ operatör används för att utföra tillägg, och vi kan använda den på datum, tillsammans med den tillämpliga datum-/tidsenheten för att lägga till ett visst antal dagar till vårt datum.

Exempel:

SELECT '2021-05-01' + INTERVAL 10 DAY; 

Resultat:

+--------------------------------+| '2021-05-01' + INTERVALL 10 DAGAR |+----------------------------------------+| 2021-05-11 |+--------------------------------+

- Operatör

- operator kan användas för att subtrahera ett belopp från ett datum. Men om du subtraherar ett negativt tal läggs ett positivt belopp till datumet:

SELECT '2021-05-01' - INTERVAL -10 DAY; 

Resultat:

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

BONUS:ADDTIME() Funktion

Jag sa att den här artikeln innehåller 8 sätt att lägga till dagar till ett datum, men här är ett par bonusfunktioner! Jag kanske borde ha kallat den här artikeln "10 sätt att lägga till dagar till ett datumtidsvärde" istället.

Hur som helst, du kan använda ADDTIME() funktion för att lägga till ett antal dagar till ett datum och tid uttryck.

Exempel:

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

Resultat:

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

Du kan också ändra andra tidsenheter, såsom timmar, minuter, sekunder, etc.

Du kan alternativt växla runt det och använda SUBTIME() med ett negativt värde om du så önskar:

SELECT 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 |+------------------------------------------------ ------+

Andra datum- och tidsenheter

Exemplen ovan lägger till ett antal dagar till datumet, men vi kan använda samma teknik för att lägga till valfri datum/tidsenhet. Vi använder DAY som datum/tidsenhet, men som nämnt kan det lika gärna vara MONTH , YEAR , HOUR , etc, såväl som någon av de sammansatta enheterna.

Se MariaDB datum- och tidsenheter för en fullständig lista över datum-/tidsenheter som kan användas med ovanstående funktioner och operator.


  1. Identifiera och hantera uppdragskritiska åtkomstapplikationer under ett utvecklingsprojekt

  2. hur man kommer åt kommandoraden för xampp på Windows

  3. Hur man skriver en ORDER BY-klausul med undantag med hjälp av SQL

  4. Vyn ALL_PROCEDURES visar inte PROCEDURE_NAME