sql >> Database >  >> RDS >> MariaDB

6 manieren om een ​​maand aan een datum toe te voegen in MariaDB

MariaDB biedt verschillende manieren om op datums te rekenen. Dit omvat het optellen of aftrekken van een maand (of vele maanden) van een bepaalde datum.

Hier zijn 6 manieren om een ​​maand toe te voegen aan een datum in MariaDB.

Bonus-update :Ik heb nu een 7e manier toegevoegd om een ​​maand toe te voegen aan een datum aan het einde van dit artikel. Dus ik denk dat het nu 7 manieren zijn om een ​​maand toe te voegen aan een datum in MariaDB 🙂

De DATE_ADD() Functie

De DATE_ADD() functie kunt u een bedrag toevoegen aan een datum. U kunt bijvoorbeeld een aantal dagen, weken, maanden, jaren enz. toevoegen.

Voorbeeld:

SELECT DATE_ADD('2021-05-01', INTERVAL 1 MONTH);

Resultaat:

+------------------------------------------+
| DATE_ADD('2021-05-01', INTERVAL 1 MONTH) |
+------------------------------------------+
| 2021-06-01                               |
+------------------------------------------+

Als je meer dan een maand moet toevoegen, gebruik dan dat nummer in plaats van 1 . Echter, de MONTH zoekwoord blijft hoe dan ook niet-meervoud:

SELECT DATE_ADD('2021-05-01', INTERVAL 2 MONTH);

Resultaat:

+------------------------------------------+
| DATE_ADD('2021-05-01', INTERVAL 2 MONTH) |
+------------------------------------------+
| 2021-07-01                               |
+------------------------------------------+

Het is ook mogelijk om een ​​andere datum/tijd-eenheid te gebruiken met het juiste nummer van die eenheid. Daarom zou u een bepaald aantal dagen kunnen specificeren, zoals 30 of 31.

Voorbeeld:

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

Resultaat:

+-----------------------------------------+
| DATE_ADD('2021-05-01', INTERVAL 31 DAY) |
+-----------------------------------------+
| 2021-06-01                              |
+-----------------------------------------+

Bij het gebruik van dagen hangt af van de maand in kwestie of het precies een maand is of niet. In het bovenstaande voorbeeld had ik 30 dagen kunnen voorzien, maar dat zou ons binnen dezelfde maand hebben gehouden:

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

Resultaat:

+-----------------------------------------+
| DATE_ADD('2021-05-01', INTERVAL 30 DAY) |
+-----------------------------------------+
| 2021-05-31                              |
+-----------------------------------------+

Dus als je echt een maand wilt toevoegen, dan is de MONTH eenheid is veel gemakkelijker dan proberen uit te rekenen hoeveel dagen je moet toevoegen.

De ADDDATE() Functie

Een andere manier om een ​​maand aan een datum toe te voegen, is door de ADDDATE() . te gebruiken functie. Deze functie heeft twee syntaxis. Met één syntaxis kunt u een aantal dagen aan een datum toevoegen. De andere syntaxis is hetzelfde als bij de DATE_ADD() functie hierboven. Bij gebruik van deze syntaxis, ADDDATE() is een synoniem voor DATE_ADD() .

Voorbeeld:

SELECT ADDDATE('2021-05-01', INTERVAL 1 MONTH);

Resultaat:

+-----------------------------------------+
| ADDDATE('2021-05-01', INTERVAL 1 MONTH) |
+-----------------------------------------+
| 2021-06-01                              |
+-----------------------------------------+

De DATE_SUB() Functie

De DATE_SUB() 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 DATE_SUB('2021-05-01', INTERVAL -1 MONTH);

Resultaat:

+-------------------------------------------+
| DATE_SUB('2021-05-01', INTERVAL -1 MONTH) |
+-------------------------------------------+
| 2021-06-01                                |
+-------------------------------------------+

De SUBDATE() Functie

De SUBDATE() functie is een synoniem voor DATE_SUB() bij gebruik van de volgende syntaxis.

Voorbeeld:

SELECT SUBDATE('2021-05-01', INTERVAL -1 MONTH);

Resultaat:

+------------------------------------------+
| SUBDATE('2021-05-01', INTERVAL -1 MONTH) |
+------------------------------------------+
| 2021-06-01                               |
+------------------------------------------+

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 maanden aan onze datum toe te voegen.

Voorbeeld:

SELECT '2021-05-01' + INTERVAL 1 MONTH;

Resultaat:

+---------------------------------+
| '2021-05-01' + INTERVAL 1 MONTH |
+---------------------------------+
| 2021-06-01                      |
+---------------------------------+

De - Operator

De - operator kan worden gebruikt om een ​​bedrag van een datum af te trekken. Maar als het wordt gebruikt om een ​​negatief getal af te trekken, dan is het resultaat dat er een positief bedrag bij de datum wordt opgeteld:

SELECT '2021-05-01' - INTERVAL -1 MONTH;

Resultaat:

+----------------------------------+
| '2021-05-01' - INTERVAL -1 MONTH |
+----------------------------------+
| 2021-06-01                       |
+----------------------------------+

Bonus:De ADD_MONTHS() Functie

Sinds ik dit artikel voor het eerst schreef, is er een nieuwe functie in MariaDB geïntroduceerd, speciaal voor het toevoegen van maanden aan een datum.

De functie heet ADD_MONTHS() , en het werd geïntroduceerd in MariaDB 10.6.1 om de compatibiliteit met Oracle te verbeteren.

Dus ik denk dat dit artikel 7 manieren moet heten om een ​​maand aan een datum toe te voegen...

Voorbeeld:

SELECT ADD_MONTHS('2020-01-01', 3);

Resultaat:

+-----------------------------+
| ADD_MONTHS('2020-01-01', 3) |
+-----------------------------+
| 2020-04-01                  |
+-----------------------------+

Andere datum- en tijdseenheden

De bovenstaande voorbeelden voegen een aantal maanden toe aan de datum, maar we kunnen dezelfde technieken gebruiken om elke datum/tijd-eenheid toe te voegen. Zie MariaDB-datum- en tijdseenheden voor een volledige lijst van datum-/tijdseenheden die kunnen worden gebruikt met de bovenstaande functies en operator.


  1. TreeView-besturingselement met subformulieren

  2. Hoe kan ik de uitvoer van de draaitabel in MySQL retourneren?

  3. Enkele aanhalingstekens van MySQL, dubbele aanhalingstekens, gebruik van achteraanhalingstekens verklaard

  4. Niet alle parameters zijn gebruikt in de SQL-instructie (Python, MySQL)