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

6 måder at tilføje et år til en dato i MariaDB

MariaDB giver flere måder at tilføje et år eller et bestemt antal år til en given dato. For eksempel vil du måske tilføje 1 år, 10 år, 30 år osv.

Her er 6 måder at tilføje et år til en dato i MariaDB.

DATE_ADD() Funktion

DATE_ADD() funktion giver dig mulighed for at tilføje et beløb til en dato. For eksempel kan du tilføje et antal dage, uger, måneder, år osv.

Eksempel:

VÆLG DATE_ADD('2021-05-01', INTERVAL 1 ÅR); 

Resultat:

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

Der er ingen regel, der siger, at det kun kan være 1 år. Du kan tilføje flere år. Uanset hvad, ÅR søgeord forbliver ikke-flertal:

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

Resultat:

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

Det er også muligt at bruge en anden dato/tidsenhed med det passende nummer på den pågældende enhed. Denne tilgang bør dog bruges med forsigtighed, da den kan resultere i uventede resultater.

Eksempel:

VÆLG 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; 

Resultat:

+------------+----------------+------- -----+| dage | Uger | Måneder | År |+------------+------------+------------+-------- ----+| 01-05-2022 | 30-04-2022 | 01-05-2022 | 01-05-2022 |+------------+--------------------- --------+

I dette tilfælde havde tilføjelse af 52 uger et andet resultat end at bruge 365 dage, 12 måneder og 1 år.

Hvis vi rykker datoen et par år frem, får vi endnu mere inkonsistens:

VÆLG 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; 

Resultat:

+------------+----------------+------- -----+| dage | Uger | Måneder | År |+------------+------------+------------+-------- ----+| 30-04-2024 | 2024-04-29 | 2024-05-01 | 2024-05-01 |+------------+-------------------------- --------+

Denne gang ved hjælp af MONTH og ÅR returnerer det samme resultat, men DAY og UGE returnerer to forskellige datoer, som begge er forskellige fra MONTH og ÅR resultater.

ADDDATE() Funktion

En anden måde at tilføje et år til en dato på er at bruge ADDDATE() fungere. Denne funktion har to syntakser. En syntaks giver dig mulighed for at tilføje et antal dage til en dato. Den anden syntaks er den samme som med DATE_ADD() funktion ovenfor. Når du bruger denne syntaks, ADDDATE() er et synonym for DATE_ADD() .

Eksempel:

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

Resultat:

+----------------------------------------+| ADDDATE('2021-05-01', INTERVAL 1 ÅR) |+---------------------------------------- ------+| 01-05-2022 |+------------------------------------------------+ 

DATE_SUB() Funktion

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

Resultat:

+--------------------------------------------------+| DATE_SUB('2021-05-01', INTERVAL -1 ÅR) |+---------------------------------------- ----------+| 2022-05-01 |+------------------------------------------------+ 

SUBDATE() Funktion

SUBDATE() funktion er et synonym for DATE_SUB() når du bruger følgende syntaks.

Eksempel:

VÆLG SUBDATE('2021-05-01', INTERVAL -1 ÅR); 

Resultat:

+------------------------------------------------+| SUBDATE('2021-05-01', INTERVAL -1 ÅR) |+---------------------------------------- --------+| 01-05-2022 |+------------------------------------------------+

+ Operatør

En anden mulighed er at bruge + operatør.

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

Eksempel:

VÆLG '2021-05-01' + INTERVAL 1 ÅR; 

Resultat:

+--------------------------------+| '2021-05-01' + INTERVAL 1 ÅR |+----------------------------------------+| 01-05-2022 |+--------------------------------+

- Operatør

- operator kan bruges til at trække et beløb fra en dato. Men hvis det bruges til at trække et negativt tal fra, så er resultatet et positivt beløb, der lægges til datoen:

VÆLG '2021-05-01' - INTERVAL -1 ÅR; 

Resultat:

+--------------------------------+| '2021-05-01' - INTERVAL -1 ÅR |+--------------------------------+| 01-05-2022 |+----------------------------------------+

Andre dato- og tidsenheder

Ovenstående eksempler tilføjer et antal år til datoen, men vi kan bruge de samme teknikker til at tilføje enhver dato/tidsenhed. Se MariaDB dato- og tidsenheder for en komplet liste over dato-/tidsenheder, der kan bruges med ovenstående funktioner og operator.


  1. PostgreSQL-kontrolbegrænsning for fremmednøgletilstand

  2. SQL Server datoformat funktion

  3. Sådan grupperes efter år i T-SQL

  4. Oracle sql tutorial:Grundlæggende SQL-erklæring