sql >> Databasteknik >  >> RDS >> MariaDB

Hur man subtraherar en dag från ett datum i MariaDB

MariaDB tillhandahåller flera sätt att utföra aritmetik på datum. Detta inkluderar att lägga till eller subtrahera en dag (eller många dagar) från ett givet datum.

Här är ett exempel på att subtrahera en dag från ett datum i MariaDB.

SUBDATE() Funktion

SUBDATE() funktionen låter dig subtrahera ett visst antal dagar från ett datum.

Det enklaste sättet att göra detta är att ange datum, följt av antalet dagar du vill dra av.

Exempel:

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

Resultat:

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

Flera dagar

Om du behöver subtrahera mer än en dag, använd bara det numret istället för 1 .

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

Resultat:

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

I det här fallet returnerade vi datumet, minus 30 dagar. Detta förde också tillbaka datumet till föregående månad.

En mer utförlig syntax

SUBDATE() Funktionen har också en mer utförlig syntax, där du kan ange vilken enhet som ska subtraheras från datumet. Du kan till exempel ange dagar, veckor, månader, år etc.

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

Resultat:

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

Observera att när du subtraherar flera dagar, visas DAY sökord förblir icke-plural:

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

Resultat:

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

Subtraktionsoperatören (- )

Ett annat sätt att subtrahera dagar från ett datum är att använda subtraktionsoperatorn (- ), även känd som minusoperatorn.

Exempel:

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

Resultat:

+--------------------------------+| '2021-05-01' - INTERVALL 90 DAGAR |+----------------------------------------+| 2021-01-31 |+--------------------------------+

Tilläggsoperatören (+ )

Du kan alternativt använda additionsoperatorn (+ ) tillsammans med ett negativt belopp.

Exempel:

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

Resultat:

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

Andra sätt att subtrahera dagar från datum

Här är några andra metoder du kan använda för att subtrahera en eller flera dagar från ett datum:

  • DATE_SUB() funktionen (SUBDATE() funktion som används i exemplet ovan är en synonym för DATE_SUB() när den används med samma syntax).
  • DATE_ADD() funktion (om du anger ett negativt belopp dras det beloppet från datumet).
  • ADDDATE() funktion (om du anger ett negativt belopp dras det beloppet från datumet).

  1. Hur man skapar en meny i SQLPlus eller PL/SQL

  2. SQL Cheat Sheet:Vad är SQL, SQL-kommandon och SQL Injection

  3. Oracle:Uppdatering av en tabellkolumn med ROWNUM i kombination med ORDER BY-satsen

  4. ORA-00904:ogiltig identifierare