sql >> Database >  >> RDS >> MariaDB

8 manieren om dagen aan een datum toe te voegen in MariaDB

MariaDB biedt verschillende manieren om een ​​bepaald aantal dagen aan een bepaalde datum toe te voegen. U wilt bijvoorbeeld 10 dagen aan een datum toevoegen, of 30 dagen, of zelfs slechts 1 dag. Gelukkig maakt MariaDB dit gemakkelijk.

Hier zijn 8 manieren om een ​​aantal dagen toe te voegen aan een bepaalde datum in MariaDB.

De ADDDATE() Functie

Laten we beginnen met de ADDDATE() functie.

Deze functie heeft twee verschillende syntaxis. De eerste syntaxis biedt een beknopte manier om een ​​bepaald aantal dagen aan een datum toe te voegen.

Voorbeeld:

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

Resultaat:

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

Met behulp van deze syntaxis geven we twee argumenten. Het eerste argument is de datum en het tweede is het aantal dagen dat aan die datum moet worden toegevoegd.

De ADDDATE() Functie – Syntaxis 2

De ADDDATE() functie heeft ook een meer uitgebreide syntaxis. Met deze syntaxis kunnen we explicieter zijn in hoe we de dagen aan de datum toevoegen.

Voorbeeld:

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

Resultaat:

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

In dit geval gebruiken we de INTERVAL trefwoord, gevolgd door het aantal dagen, gevolgd door de DAY trefwoord.

De INTERVAL trefwoord wordt gebruikt om een ​​tijdsinterval op te tellen bij of af te trekken van een DATETIME , DATE of TIME waarde. We kunnen het op datums gebruiken, samen met de toepasselijke datum/tijd-eenheid om een ​​bepaald aantal dagen aan onze datum toe te voegen. In ons geval is de datum/tijd-eenheid DAY , maar het kan net zo goed MONTH zijn , YEAR , HOUR , enz., evenals een aantal samengestelde eenheden.

De DATE_ADD() Functie

De DATE_ADD() functie werkt hetzelfde als ADDDATE() bij gebruik van de uitgebreide syntaxis. In feite, bij gebruik van de uitgebreide syntaxis, ADDDATE() is een synoniem voor DATE_ADD() .

Voorbeeld:

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

Resultaat:

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

De SUBDATE() Functie – Syntaxis 1

De SUBDATE() functie stelt u in staat om af te trekken een bedrag tot een datum. Als u echter een negatieve waarde opgeeft om af te trekken, wordt deze uiteindelijk opgeteld tot de datum.

Voorbeeld:

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

Resultaat:

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

De SUBDATE() Functie – Syntaxis 2

De SUBDATE() functie heeft ook de meer uitgebreide syntaxis (vergelijkbaar met de ADDDATE() functie).

Voorbeeld:

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

Resultaat:

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

De DATE_SUB() Functie

Hier is een voorbeeld dat de DATE_SUB() . gebruikt functie:

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

Resultaat:

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

De + Operator

Een andere optie is om de + . te gebruiken exploitant.

De + operator wordt gebruikt om optellen uit te voeren, en we kunnen het gebruiken op datums, samen met de toepasselijke datum/tijd-eenheid om een ​​bepaald aantal dagen aan onze datum toe te voegen.

Voorbeeld:

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

Resultaat:

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

De - Operator

De - operator kan worden gebruikt om een ​​bedrag van een datum af te trekken. Als u echter een negatief getal aftrekt, wordt er een positief bedrag bij de datum opgeteld:

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

Resultaat:

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

BONUS:De ADDTIME() Functie

Ik zei dat dit artikel 8 manieren bevat om dagen aan een datum toe te voegen, maar hier zijn een paar bonusfuncties! Misschien had ik dit artikel in plaats daarvan "10 manieren om dagen toe te voegen aan een datetime-waarde" moeten noemen.

Hoe dan ook, je kunt de ADDTIME() . gebruiken functie om een ​​aantal dagen toe te voegen aan een datetime-expressie.

Voorbeeld:

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

Resultaat:

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

U kunt ook de andere tijdseenheden wijzigen, zoals uren, minuten, seconden, enz.

Je kunt het ook omdraaien en SUBTIME() . gebruiken met een negatieve waarde als je dat wilt:

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

Resultaat:

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

Andere datum- en tijdseenheden

De bovenstaande voorbeelden voegen een aantal dagen toe aan de datum, maar we kunnen dezelfde technieken gebruiken om elke datum/tijd-eenheid toe te voegen. We gebruiken DAY als de datum/tijd-eenheid, maar zoals gezegd, het kan net zo goed MONTH zijn , YEAR , HOUR , enz., evenals een van de samengestelde eenheden.

Zie MariaDB-datum- en tijdseenheden voor een volledige lijst van datum-/tijdseenheden die kunnen worden gebruikt met de bovenstaande functies en operator.


  1. Hoe TIMESTAMPADD() werkt in MariaDB

  2. Geef array door aan MySQL-opgeslagen routine

  3. Datum volgende gebeurtenis weergeven

  4. Kan INSERT [...] ON CONFLICT worden gebruikt voor schendingen van buitenlandse sleutels?