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

Sådan trækkes et år fra en dato i MariaDB

MariaDB giver flere måder at udføre aritmetik på datoer. Dette omfatter tilføjelse eller fratrækning af et år (eller mange år) fra en given dato.

Her er et eksempel på at trække et år fra en dato i MariaDB.

DATE_SUB() Funktion

DATE_SUB() funktion giver dig mulighed for at trække et bestemt antal enheder fra en dato. Derfor kan du returnere datoen minus et antal dage, uger, måneder, år osv.

I vores tilfælde vil vi trække et år fra.

Eksempel:

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

Resultat:

+-----------------------------------------+
| DATE_SUB('2021-05-01', INTERVAL 1 YEAR) |
+-----------------------------------------+
| 2020-05-01                              |
+-----------------------------------------+

Flere år

Hvis du skal trække mere end et år fra, skal du bare bruge det tal i stedet for 1 . Men YEAR søgeord forbliver ikke-flertal uanset:

SELECT DATE_SUB('2021-05-01', INTERVAL 2 YEAR);

Resultat:

+-----------------------------------------+
| DATE_SUB('2021-05-01', INTERVAL 2 YEAR) |
+-----------------------------------------+
| 2019-05-01                              |
+-----------------------------------------+

Subtraktionsoperatøren (- )

En anden måde at trække et år fra en dato på er at bruge subtraktionsoperatoren (- ), også kendt som minusoperatoren.

Eksempel:

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

Resultat:

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

Additionsoperatøren (+ )

Du kan alternativt bruge additionsoperatoren (+ ) sammen med et negativt beløb.

Eksempel:

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

Resultat:

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

Andre måder at trække år fra datoer på

Her er nogle andre metoder, du kan bruge til at trække et eller flere år fra en dato:

  • SUBDATE() funktion (dette er et synonym for DATE_SUB() når det bruges med samme syntaks).
  • DATE_ADD() funktion (hvis du angiver et negativt beløb, trækkes dette beløb fra datoen).
  • ADDDATE() funktion (hvis du angiver et negativt beløb, trækkes dette beløb fra datoen).

  1. Maksimal størrelse for en SQL Server-forespørgsel? IN klausul? Er der en bedre tilgang

  2. Rails og PostgreSQL:Rolle postgres eksisterer ikke

  3. REGEX for at vælge den n'te værdi fra en liste, hvilket giver mulighed for nuller

  4. Migrering fra Oracle til PostgreSQL - hvad du bør vide