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

Sådan trækkes en dag fra en dato i MariaDB

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

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

SUBDATE() Funktion

SUBDATE() funktionen giver dig mulighed for at trække et bestemt antal dage fra en dato.

Den nemmeste måde at gøre dette på er at angive datoen efterfulgt af det antal dage, du gerne vil trække fra.

Eksempel:

SELECT SUBDATE('2021-05-21', 1); 

Resultat:

+--------------------------------+| SUBDATE('2021-05-21', 1) |+--------------------------------+| 20-05-2021 |+--------------------------------+

Flere dage

Hvis du skal trække mere end én dag fra, skal du bare bruge det tal i stedet for 1 .

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

Resultat:

+--------------------------------+| SUBDATE('2021-05-01', 30) |+--------------------------------+| 01-04-2021 |+--------------------------------+

I dette tilfælde returnerede vi datoen, minus 30 dage. Dette bragte også datoen tilbage til den foregående måned.

En mere udførlig syntaks

SUBDATE() funktion har også en mere udførlig syntaks, hvor du kan angive den enhed, der skal trækkes fra datoen. Du kan f.eks. angive dage, uger, måneder, år osv.

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

Resultat:

+----------------------------------------------+| SUBDATE('2021-05-01', INTERVAL 1 DAG) |+---------------------------------------- -----+| 30-04-2021 |+----------------------------------------------+

Bemærk, at når du trækker flere dage fra, er DAY søgeord forbliver ikke-flertal:

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

Resultat:

+----------------------------------------+| SUBDATE('2021-05-01', INTERVAL 10 DAGE) |+---------------------------------------- ------+| 21-04-2021 |+------------------------------------------------+ 

Subtraktionsoperatøren (- )

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

Eksempel:

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

Resultat:

+--------------------------------+| '2021-05-01' - INTERVAL 90 DAGE |+--------------------------------+| 31-01-2021 |+--------------------------------+

Additionsoperatøren (+ )

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

Eksempel:

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

Resultat:

+--------------------------------+| '2021-05-01' + INTERVAL -90 DAGE |+--------------------------------+| 31-01-2021 |+----------------------------------------+

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

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

  • DATE_SUB() funktion (SUBDATE() funktion brugt i ovenstående eksempel 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. Regulært udtryk (RegEx) for IPv6 Adskilt fra IPv4

  2. hvordan kalder man en lagret proc fra støvknapper og ændrer refcursor, der returneres?

  3. Hvordan medtager man nul/0 resultater i COUNT aggregat?

  4. Udfør native sql med hibernate