MariaDB erbjuder flera sätt att lägga till ett år eller ett visst antal år till ett givet datum. Du kanske till exempel vill lägga till 1 år, 10 år, 30 år osv.
Här är 6 sätt att lägga till ett år till ett datum i MariaDB.
DATE_ADD()
Funktion
DATE_ADD()
funktionen låter dig lägga till ett belopp till ett datum. Du kan till exempel lägga till ett antal dagar, veckor, månader, år etc.
Exempel:
SELECT DATE_ADD('2021-05-01', INTERVAL 1 YEAR);
Resultat:
+------------------------------------------------+| DATE_ADD('2021-05-01', INTERVAL 1 ÅR) |+---------------------------------------- -------+| 2022-05-01 |+------------------------------------------------+
Det finns ingen regel som säger att det bara kan vara 1 år. Du kan lägga till flera år. Hur som helst, YEAR
sökord förblir icke-plural:
SELECT DATE_ADD('2021-05-01', INTERVAL 10 YEAR);
Resultat:
+--------------------------------------------------+| DATE_ADD('2021-05-01', INTERVAL 10 ÅR) |+---------------------------------------- --------+| 2031-05-01 |+------------------------------------------------+
Det är också möjligt att använda en annan datum-/tidsenhet med lämpligt nummer för den enheten. Detta tillvägagångssätt bör dock användas med försiktighet, eftersom det kan resultera i oväntade resultat.
Exempel:
SELECT
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:
+------------+-------------+-------+------- -----+| Dagar | Veckor | Månader | År |+------------+------------+----------------+-------- ----+| 2022-05-01 | 2022-04-30 | 2022-05-01 | 2022-05-01 |+-----------------------------+---- --------+
I det här fallet gav att lägga till 52 veckor ett annat resultat än att använda 365 dagar, 12 månader och 1 år.
Om vi flyttar fram datumet ett par år får vi ännu mer inkonsekvens:
SELECT
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:
+------------+-------------+-------+------- -----+| Dagar | Veckor | Månader | År |+------------+------------+----------------+-------- ----+| 2024-04-30 | 2024-04-29 | 2024-05-01 | 2024-05-01 |+----------------------------+---- --------+
Den här gången med MONTH
och YEAR
returnerar samma resultat, men DAY
och WEEK
returnerar två olika datum, som båda skiljer sig från MONTH
och YEAR
resultat.
ADDDATE()
Funktion
Ett annat sätt att lägga till ett år till ett datum är att använda ADDDATE()
fungera. Denna funktion har två syntaxer. En syntax låter dig lägga till ett antal dagar till ett datum. Den andra syntaxen är densamma som med DATE_ADD()
funktionen ovan. När du använder denna syntax, ADDDATE()
är en synonym för DATE_ADD()
.
Exempel:
SELECT ADDDATE('2021-05-01', INTERVAL 1 YEAR);
Resultat:
+----------------------------------------+| ADDDATE('2021-05-01', INTERVAL 1 ÅR) |+---------------------------------------- ------+| 2022-05-01 |+------------------------------------------------+
DATE_SUB()
Funktion
DATE_SUB()
funktionen låter dig subtrahera ett belopp till ett datum. Men om du anger ett negativt värde att subtrahera, slutar det med att det läggs till till datumet.Exempel:
SELECT DATE_SUB('2021-05-01', INTERVAL -1 YEAR);
Resultat:
+--------------------------------------------------+| DATE_SUB('2021-05-01', INTERVAL -1 ÅR) |+---------------------------------------- ----------+| 2022-05-01 |+--------------------------------------------------------+
SUBDATE()
Funktion
SUBDATE()
funktion är en synonym förDATE_SUB()
när du använder följande syntax.Exempel:
SELECT SUBDATE('2021-05-01', INTERVAL -1 YEAR);
Resultat:
+------------------------------------------------+| SUBDATE('2021-05-01', INTERVAL -1 YEAR) |+---------------------------------------- --------+| 2022-05-01 |+------------------------------------------------+
+
OperatörEtt annat alternativ är att använda
+
operatör.
+
operatör används för att utföra tillägg, och vi kan använda den på datum, tillsammans med tillämplig datum-/tidsenhet för att lägga till ett visst antal år till vårt datum.Exempel:
SELECT '2021-05-01' + INTERVAL 1 YEAR;
Resultat:
+--------------------------------+| '2021-05-01' + INTERVAL 1 ÅR |+----------------------------------------+| 2022-05-01 |+--------------------------------+
-
Operatör
-
operator kan användas för att subtrahera ett belopp från ett datum. Men om det används för att subtrahera ett negativt tal, blir resultatet ett positivt belopp som läggs till datumet:SELECT '2021-05-01' - INTERVAL -1 YEAR;
Resultat:
+--------------------------------+| '2021-05-01' - INTERVAL -1 ÅR |+----------------------------------------+| 2022-05-01 |+----------------------------------------+Andra datum- och tidsenheter
Exemplen ovan lägger till ett antal år till datumet, men vi kan använda samma teknik för att lägga till valfri datum-/tidsenhet. Se MariaDB datum- och tidsenheter för en fullständig lista över datum-/tidsenheter som kan användas med ovanstående funktioner och operator.