sql >> Database >  >> RDS >> MariaDB

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

MariaDB biedt verschillende manieren om een ​​jaar of een bepaald aantal jaren aan een bepaalde datum toe te voegen. U wilt bijvoorbeeld 1 jaar, 10 jaar, 30 jaar, enz. toevoegen.

Hier zijn 6 manieren om een ​​jaar 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 YEAR);

Resultaat:

+-----------------------------------------+
| DATE_ADD('2021-05-01', INTERVAL 1 YEAR) |
+-----------------------------------------+
| 2022-05-01                              |
+-----------------------------------------+

Er is geen regel die zegt dat het maar 1 jaar kan zijn. U kunt meerdere jaren toevoegen. Hoe dan ook, het YEAR zoekwoord blijft niet-meervoud:

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

Resultaat:

+------------------------------------------+
| DATE_ADD('2021-05-01', INTERVAL 10 YEAR) |
+------------------------------------------+
| 2031-05-01                               |
+------------------------------------------+

Het is ook mogelijk om een ​​andere datum/tijd-eenheid te gebruiken met het juiste nummer van die eenheid. Deze benadering moet echter met de nodige voorzichtigheid worden gebruikt, omdat dit tot onverwachte resultaten kan leiden.

Voorbeeld:

SELECT 
    DATE_ADD('2021-05-01', INTERVAL 365 DAY) AS Days,
    DATE_ADD('2021-05-01', INTERVAL 52 WEEK) AS Weeks,
    DATE_ADD('2021-05-01', INTERVAL 12 MONTH) AS Months,
    DATE_ADD('2021-05-01', INTERVAL 1 YEAR) AS Years;

Resultaat:

+------------+------------+------------+------------+
| Days       | Weeks      | Months     | Years      |
+------------+------------+------------+------------+
| 2022-05-01 | 2022-04-30 | 2022-05-01 | 2022-05-01 |
+------------+------------+------------+------------+

In dit geval had het toevoegen van 52 weken een ander resultaat dan het gebruik van 365 dagen, 12 maanden en 1 jaar.

Als we de datum een ​​paar jaar naar voren schuiven, krijgen we nog meer inconsistentie:

SELECT 
    DATE_ADD('2023-05-01', INTERVAL 365 DAY) AS Days,
    DATE_ADD('2023-05-01', INTERVAL 52 WEEK) AS Weeks,
    DATE_ADD('2023-05-01', INTERVAL 12 MONTH) AS Months,
    DATE_ADD('2023-05-01', INTERVAL 1 YEAR) AS Years;

Resultaat:

+------------+------------+------------+------------+
| Days       | Weeks      | Months     | Years      |
+------------+------------+------------+------------+
| 2024-04-30 | 2024-04-29 | 2024-05-01 | 2024-05-01 |
+------------+------------+------------+------------+

Deze keer met MONTH en YEAR geeft hetzelfde resultaat, maar DAY en WEEK geeft twee verschillende datums terug, die beide verschillen van de MONTH en YEAR resultaten.

De ADDDATE() Functie

Een andere manier om een ​​jaartal 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 YEAR);

Resultaat:

+----------------------------------------+
| ADDDATE('2021-05-01', INTERVAL 1 YEAR) |
+----------------------------------------+
| 2022-05-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 YEAR);

Resultaat:

+------------------------------------------+
| DATE_SUB('2021-05-01', INTERVAL -1 YEAR) |
+------------------------------------------+
| 2022-05-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 YEAR);

Resultaat:

+-----------------------------------------+
| SUBDATE('2021-05-01', INTERVAL -1 YEAR) |
+-----------------------------------------+
| 2022-05-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 jaren aan onze datum toe te voegen.

Voorbeeld:

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

Resultaat:

+--------------------------------+
| '2021-05-01' + INTERVAL 1 YEAR |
+--------------------------------+
| 2022-05-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 YEAR;

Resultaat:

+---------------------------------+
| '2021-05-01' - INTERVAL -1 YEAR |
+---------------------------------+
| 2022-05-01                      |
+---------------------------------+

Andere datum- en tijdseenheden

De bovenstaande voorbeelden voegen een aantal jaren 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. Een tabel hernoemen in Microsoft Access

  2. Databasestatistieken SQL Server-update

  3. SQL UNION-clausule voor beginners

  4. SQL:verwijder alle gegevens uit alle beschikbare tabellen