MariaDB tillhandahåller många sätt att utföra datumaritmetik. Detta inkluderar att lägga till eller subtrahera ett visst antal av en given datumdel från ett datum eller datetime-värde.
I den här artikeln presenterar jag 8 sätt att lägga till en eller flera minuter till ett datetime-värde i MariaDB.
DATE_ADD()
Funktion
DATE_ADD()
funktionen låter dig lägga till ett belopp till ett datum- eller datumtidsuttryck. Detta inkluderar att lägga till tidsdelar, till exempel minuter.
Exempel:
SELECT DATE_ADD('2021-05-01 10:00:00', INTERVAL 35 MINUTE);
Resultat:
+-----------------------------------------------------+ | DATE_ADD('2021-05-01 10:00:00', INTERVAL 35 MINUTE) | +-----------------------------------------------------+ | 2021-05-01 10:35:00 | +-----------------------------------------------------+
I det här fallet lade jag till 35 minuter till datetime-uttrycket. Observera att MINUTE
sökord förblir icke-plural oavsett om jag lägger till en minut eller mer.
Så här händer om jag bara anger datumet:
SELECT DATE_ADD('2021-05-01', INTERVAL 35 MINUTE);
Resultat:
+--------------------------------------------+ | DATE_ADD('2021-05-01', INTERVAL 35 MINUTE) | +--------------------------------------------+ | 2021-05-01 00:35:00 | +--------------------------------------------+
Tidsdelen läggs till resultatet och det antas att den initiala tiden var 00:00:00
.
När vi lägger till 60 minuter kan vi använda HOUR
sökord om vi föredrar:
SELECT DATE_ADD('2021-05-01 10:00:00', INTERVAL 1 HOUR);
Resultat:
+--------------------------------------------------+ | DATE_ADD('2021-05-01 10:00:00', INTERVAL 1 HOUR) | +--------------------------------------------------+ | 2021-05-01 11:00:00 | +--------------------------------------------------+
Uppenbarligen fungerar denna teknik med 120 minuter, 180, och så vidare. Använd bara tillämpligt antal timmar.
Du kan också använda en sammansatt datum/tidsenhet för att lägga till flera enheter. Om du till exempel vill lägga till 1 timme och 30 minuter kan du göra så här:
SELECT
DATE_ADD('2021-05-01 10:00:00', INTERVAL '1:30' HOUR_MINUTE);
Resultat:
+--------------------------------------------------------------+ | DATE_ADD('2021-05-01 10:00:00', INTERVAL '1:30' HOUR_MINUTE) | +--------------------------------------------------------------+ | 2021-05-01 11:30:00 | +--------------------------------------------------------------+
Se MariaDB datum- och tidsenheter för en fullständig lista över datum-/tidsenheter.
ADDDATE()
Funktion
Ett annat sätt att lägga till minuter till ett datetime-uttryck ä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, vilket inte är vad vi gör här (såvida vi inte planerar att lägga till minuter i block om 1 440, vilket är hur många minuter det är på en dag).
- Den andra syntaxen är densamma som med
DATE_ADD()
funktionen ovan. När du använder denna syntax,ADDDATE()
är en synonym förDATE_ADD()
.
Exempel:
SELECT ADDDATE('2021-05-01 10:00:00', INTERVAL 35 MINUTE);
Resultat:
+----------------------------------------------------+ | ADDDATE('2021-05-01 10:00:00', INTERVAL 35 MINUTE) | +----------------------------------------------------+ | 2021-05-01 10:35:00 | +----------------------------------------------------+
DATE_SUB()
Funktion
DATE_SUB()
funktionen låter dig subtrahera ett belopp för ett datum/datumtid-uttryck. Men om du anger ett negativt värde att subtrahera, slutar det med att det läggs till till datum/tid.
Exempel:
SELECT DATE_SUB('2021-05-01 10:00:00', INTERVAL -35 MINUTE);
Resultat:
+------------------------------------------------------+ | DATE_SUB('2021-05-01 10:00:00', INTERVAL -35 MINUTE) | +------------------------------------------------------+ | 2021-05-01 10:35:00 | +------------------------------------------------------+
SUBDATE()
Funktion
SUBDATE()
funktion är en synonym för DATE_SUB()
när du använder följande syntax.
Exempel:
SELECT SUBDATE('2021-05-01 10:00:00', INTERVAL -35 MINUTE);
Resultat:
+-----------------------------------------------------+ | SUBDATE('2021-05-01 10:00:00', INTERVAL -35 MINUTE) | +-----------------------------------------------------+ | 2021-05-01 10:35:00 | +-----------------------------------------------------+
+
Operatör
Ett annat alternativ är att använda +
operatör.
+
operatören används för att göra tillägg, och vi kan använda den på datum, tillsammans med den tillämpliga datum-/tidsenheten för att lägga till ett visst antal minuter till vårt datum.
Exempel:
SELECT '2021-05-01 10:00:00' + INTERVAL 35 MINUTE;
Resultat:
+--------------------------------------------+ | '2021-05-01 10:00:00' + INTERVAL 35 MINUTE | +--------------------------------------------+ | 2021-05-01 10:35:00 | +--------------------------------------------+
-
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 10:00:00' - INTERVAL -35 MINUTE;
Resultat:
+---------------------------------------------+ | '2021-05-01 10:00:00' - INTERVAL -35 MINUTE | +---------------------------------------------+ | 2021-05-01 10:35:00 | +---------------------------------------------+
ADDTIME()
Funktion
Du kan använda ADDTIME()
funktion för att lägga till ett antal minuter till ett datum och tid uttryck.
Exempel:
SELECT ADDTIME('2021-05-01 10:00:00', '00:30:00');
Resultat:
+--------------------------------------------+ | ADDTIME('2021-05-01 10:00:00', '00:30:00') | +--------------------------------------------+ | 2021-05-01 10:30:00 | +--------------------------------------------+
En fördel med den här funktionen är att du även kan ändra de andra tidsenheterna, såsom timmar, sekunder, etc.
SUBTIME()
Funktion
Du kan alternativt växla runt det och använda SUBTIME()
med ett negativt värde om du så önskar:
SELECT SUBTIME('2021-05-01 10:00:00', '-00:30:00');
Resultat:
+---------------------------------------------+ | SUBTIME('2021-05-01 10:00:00', '-00:30:00') | +---------------------------------------------+ | 2021-05-01 10:30:00 | +---------------------------------------------+
Andra datum- och tidsenheter
Exemplen ovan lägger till ett antal minuter till datetime-värdet, 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 operatorer.