MariaDB tillhandahåller flera sätt att utföra aritmetik på datum. Detta inkluderar att lägga till eller subtrahera ett år (eller många år) från ett givet datum.
Här är ett exempel på att subtrahera ett år från ett datum i MariaDB.
DATE_SUB()
Funktion
DATE_SUB()
funktionen låter dig subtrahera ett visst antal enheter från ett datum. Därför kan du returnera datumet, minus ett antal dagar, veckor, månader, år etc.
I vårt fall vill vi dra av ett år.
Exempel:
SELECT DATE_SUB('2021-05-01', INTERVAL 1 YEAR);
Resultat:
+-----------------------------------------+ | DATE_SUB('2021-05-01', INTERVAL 1 YEAR) | +-----------------------------------------+ | 2020-05-01 | +-----------------------------------------+
Flera år
Om du behöver subtrahera mer än ett år, använd bara det numret istället för 1
. Men YEAR
sökord förblir icke-plural oavsett:
SELECT DATE_SUB('2021-05-01', INTERVAL 2 YEAR);
Resultat:
+-----------------------------------------+ | DATE_SUB('2021-05-01', INTERVAL 2 YEAR) | +-----------------------------------------+ | 2019-05-01 | +-----------------------------------------+
Subtraktionsoperatören (-
)
Ett annat sätt att subtrahera ett år från ett datum är att använda subtraktionsoperatorn (-
), även känd som minusoperatorn.
Exempel:
SELECT '2021-05-01' - INTERVAL 1 YEAR;
Resultat:
+--------------------------------+ | '2021-05-01' - INTERVAL 1 YEAR | +--------------------------------+ | 2020-05-01 | +--------------------------------+
Tilläggsoperatören (+
)
Du kan alternativt använda additionsoperatorn (+
) tillsammans med ett negativt belopp.
Exempel:
SELECT '2021-05-01' + INTERVAL -1 YEAR;
Resultat:
+---------------------------------+ | '2021-05-01' + INTERVAL -1 YEAR | +---------------------------------+ | 2020-05-01 | +---------------------------------+
Andra sätt att subtrahera årtal från datum
Här är några andra metoder du kan använda för att subtrahera ett eller flera år från ett datum:
SUBDATE()
funktion (detta är en synonym förDATE_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).