Der er mange måder at udføre datoregning på i MariaDB. Dette omfatter tilføjelse eller subtrahering af et bestemt antal af en given datodel fra en dato- eller datotidsværdi.
I denne artikel præsenterer jeg 8 måder at tilføje en time til en datetime-værdi i MariaDB.
DATE_ADD()
Funktion
DATE_ADD()
funktionen giver dig mulighed for at tilføje et beløb til et dato- eller datotidsudtryk. Dette inkluderer tilføjelse af tidsdele, såsom timen.
Eksempel:
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 | +--------------------------------------------------+
I dette tilfælde tilføjede jeg en time til dato- og tidsudtrykket.
Her er, hvad der sker, hvis jeg kun angiver datoen:
SELECT DATE_ADD('2021-05-01', INTERVAL 1 HOUR);
Resultat:
+-----------------------------------------+ | DATE_ADD('2021-05-01', INTERVAL 1 HOUR) | +-----------------------------------------+ | 2021-05-01 01:00:00 | +-----------------------------------------+
Tidsdelen føjes til resultatet, og det antages, at den indledende tid var 00:00:00
.
Hvis du har brug for at tilføje mere end én time, skal du blot bruge det nummer i stedet for 1
. Bemærk, at HOUR
søgeord forbliver ikke-flertal uanset:
SELECT DATE_ADD('2021-05-01 10:00:00', INTERVAL 2 HOUR);
Resultat:
+--------------------------------------------------+ | DATE_ADD('2021-05-01 10:00:00', INTERVAL 2 HOUR) | +--------------------------------------------------+ | 2021-05-01 12:00:00 | +--------------------------------------------------+
Det er også muligt at bruge en anden dato/tidsenhed med det passende nummer på den pågældende enhed. Derfor kan du angive et bestemt antal minutter, såsom 60 eller 120.
Eksempel:
SELECT DATE_ADD('2021-05-01 10:00:00', INTERVAL 60 MINUTE);
Resultat:
+-----------------------------------------------------+ | DATE_ADD('2021-05-01 10:00:00', INTERVAL 60 MINUTE) | +-----------------------------------------------------+ | 2021-05-01 11:00:00 | +-----------------------------------------------------+
Du kan også bruge en sammensat dato/tidsenhed til at tilføje flere enheder. Hvis du f.eks. vil tilføje 1 time og 30 minutter, kan du gøre dette:
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 dato- og tidsenheder for en komplet liste over dato-/tidsenheder.
ADDDATE()
Funktion
En anden måde at tilføje en time til et datetime-udtryk er at bruge ADDDATE()
fungere. Denne funktion har to syntakser:
- Én syntaks giver dig mulighed for at tilføje et antal dage til en dato, hvilket ikke er det, vi gør her (medmindre vi planlægger at tilføje 24 timer).
- Den anden syntaks er den samme som med
DATE_ADD()
funktion ovenfor. Når du bruger denne syntaks,ADDDATE()
er et synonym forDATE_ADD()
.
Eksempel:
SELECT ADDDATE('2021-05-01 10:00:00', INTERVAL 1 HOUR);
Resultat:
+-------------------------------------------------+ | ADDDATE('2021-05-01 10:00:00', INTERVAL 1 HOUR) | +-------------------------------------------------+ | 2021-05-01 11:00:00 | +-------------------------------------------------+
DATE_SUB()
Funktion
DATE_SUB()
funktionen giver dig mulighed for at fratrække et beløb til en dato. Men hvis du angiver en negativ værdi at trække fra, så ender den med at blive tillagt til datoen.
Eksempel:
SELECT DATE_SUB('2021-05-01 10:00:00', INTERVAL -1 HOUR);
Resultat:
+---------------------------------------------------+ | DATE_SUB('2021-05-01 10:00:00', INTERVAL -1 HOUR) | +---------------------------------------------------+ | 2021-05-01 11:00:00 | +---------------------------------------------------+
SUBDATE()
Funktion
SUBDATE()
funktion er et synonym for DATE_SUB()
når du bruger følgende syntaks.
Eksempel:
SELECT SUBDATE('2021-05-01 10:00:00', INTERVAL -1 HOUR);
Resultat:
+--------------------------------------------------+ | SUBDATE('2021-05-01 10:00:00', INTERVAL -1 HOUR) | +--------------------------------------------------+ | 2021-05-01 11:00:00 | +--------------------------------------------------+
+
Operatør
En anden mulighed er at bruge +
operatør.
+
operatør bruges til at udføre tilføjelse, og vi kan bruge det på datoer sammen med den gældende dato/tidsenhed for at tilføje et bestemt antal timer til vores dato.
Eksempel:
SELECT '2021-05-01 10:00:00' + INTERVAL 1 HOUR;
Resultat:
+-----------------------------------------+ | '2021-05-01 10:00:00' + INTERVAL 1 HOUR | +-----------------------------------------+ | 2021-05-01 11:00:00 | +-----------------------------------------+
- Operatør
-
operator kan bruges til at trække et beløb fra en dato. Men hvis det bruges til at trække et negativt tal fra, så er resultatet et positivt beløb, der lægges til datoen:
SELECT '2021-05-01 10:00:00' - INTERVAL -1 HOUR;
Resultat:
+------------------------------------------+ | '2021-05-01 10:00:00' - INTERVAL -1 HOUR | +------------------------------------------+ | 2021-05-01 11:00:00 | +------------------------------------------+
ADDTIME()
Funktion
Du kan bruge ADDTIME()
funktion til at tilføje et antal timer til et dato- og tidsudtryk.
Eksempel:
SELECT ADDTIME('2021-05-01 10:30:45', '01:0:0');
Resultat:
+------------------------------------------+ | ADDTIME('2021-05-01 10:30:45', '01:0:0') | +------------------------------------------+ | 2021-05-01 11:30:45 | +------------------------------------------+
En fordel ved denne funktion er, at du også kan ændre de andre tidsenheder, såsom minutter, sekunder osv.
SUBTIME()
Funktion
Du kan alternativt skifte rundt og bruge SUBTIME()
med en negativ værdi, hvis du ønsker det:
SELECT SUBTIME('2021-05-01 10:30:45', '-01:0:0');
Resultat:
+-------------------------------------------+ | SUBTIME('2021-05-01 10:30:45', '-01:0:0') | +-------------------------------------------+ | 2021-05-01 11:30:45 | +-------------------------------------------+
Andre dato- og tidsenheder
Ovenstående eksempler tilføjer et antal timer til datetime-værdien, men vi kan bruge de samme teknikker til at tilføje enhver dato/tidsenhed. Se MariaDB dato- og tidsenheder for en komplet liste over dato/tidsenheder, der kan bruges med ovenstående funktioner og operatorer.