sql >> Database teknologi >  >> RDS >> MariaDB

8 måder at tilføje sekunder til en dato-tidsværdi i MariaDB

Hvis du har brug for at tilføje et eller flere sekunder til en datetime-værdi i MariaDB, er her 8 muligheder at overveje.

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 timer, minutter, sekunder osv.

Eksempel:

SELECT DATE_ADD('2021-05-01 10:00:00', INTERVAL 35 SECOND);

Resultat:

+-----------------------------------------------------+
| DATE_ADD('2021-05-01 10:00:00', INTERVAL 35 SECOND) |
+-----------------------------------------------------+
| 2021-05-01 10:00:35                                 |
+-----------------------------------------------------+

I dette tilfælde tilføjede jeg 35 sekunder til datetime-udtrykket. Bemærk, at SECOND søgeord forbliver ikke-flertal, uanset om jeg tilføjer et sekund eller mere.

Her er, hvad der sker, hvis jeg kun angiver datoen:

SELECT DATE_ADD('2021-05-01', INTERVAL 35 SECOND);

Resultat:

+--------------------------------------------+
| DATE_ADD('2021-05-01', INTERVAL 35 SECOND) |
+--------------------------------------------+
| 2021-05-01 00:00:35                        |
+--------------------------------------------+

Tidsdelen føjes til resultatet, og det antages, at den indledende tid var 00:00:00 .

Når du tilføjer 60 sekunder, kan vi alternativt bruge MINUTE søgeord, hvis vi foretrækker det:

SELECT DATE_ADD('2021-05-01 10:00:00', INTERVAL 1 MINUTE);

Resultat:

+----------------------------------------------------+
| DATE_ADD('2021-05-01 10:00:00', INTERVAL 1 MINUTE) |
+----------------------------------------------------+
| 2021-05-01 10:01:00                                |
+----------------------------------------------------+

Denne teknik virker åbenbart med 120 sekunder, 180 og så videre. Brug blot det relevante antal minutter.

Du kan også bruge en sammensat dato/tidsenhed til at tilføje flere enheder. Hvis du f.eks. vil tilføje 1 minut og 30 sekunder, kan du gøre dette:

SELECT 
DATE_ADD('2021-05-01 10:00:00', INTERVAL '1:30' MINUTE_SECOND);

Resultat:

+----------------------------------------------------------------+
| DATE_ADD('2021-05-01 10:00:00', INTERVAL '1:30' MINUTE_SECOND) |
+----------------------------------------------------------------+
| 2021-05-01 10:01:30                                            |
+----------------------------------------------------------------+

Se MariaDB dato- og tidsenheder for en komplet liste over dato-/tidsenheder.

ADDDATE() Funktion

En anden måde at tilføje sekunder til et datetime-udtryk er at bruge ADDDATE() fungere. Denne funktion har to syntakser:

  1. É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 sekunder i blokke på 86.400, hvilket er hvor mange sekunder der er på en dag).
  2. Den anden syntaks er den samme som med DATE_ADD() funktion ovenfor. Når du bruger denne syntaks, ADDDATE() er et synonym for DATE_ADD() .

Eksempel:

SELECT ADDDATE('2021-05-01 10:00:00', INTERVAL 35 SECOND);

Resultat:

+----------------------------------------------------+
| ADDDATE('2021-05-01 10:00:00', INTERVAL 35 SECOND) |
+----------------------------------------------------+
| 2021-05-01 10:00:35                                |
+----------------------------------------------------+

DATE_SUB() Funktion

DATE_SUB() funktionen giver dig mulighed for at fratrække et beløb til et dato/dato/tidspunkt udtryk. Men hvis du angiver en negativ værdi at trække fra, så ender den med at blive tillagt til dato/klokkeslæt.

Eksempel:

SELECT DATE_SUB('2021-05-01 10:00:00', INTERVAL -35 SECOND);

Resultat:

+------------------------------------------------------+
| DATE_SUB('2021-05-01 10:00:00', INTERVAL -35 SECOND) |
+------------------------------------------------------+
| 2021-05-01 10:00:35                                  |
+------------------------------------------------------+

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 -35 SECOND);

Resultat:

+-----------------------------------------------------+
| SUBDATE('2021-05-01 10:00:00', INTERVAL -35 SECOND) |
+-----------------------------------------------------+
| 2021-05-01 10:00:35                                 |
+-----------------------------------------------------+

+ Operatør

En anden mulighed er at bruge + operatør.

+ operator bruges til at udføre tilføjelse, og vi kan bruge den på datoer sammen med den relevante dato/tidsenhed for at tilføje et bestemt antal sekunder til vores dato- og tidsudtryk.

Eksempel:

SELECT '2021-05-01 10:00:00' + INTERVAL 35 SECOND;

Resultat:

+--------------------------------------------+
| '2021-05-01 10:00:00' + INTERVAL 35 SECOND |
+--------------------------------------------+
| 2021-05-01 10:00:35                        |
+--------------------------------------------+

- 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 tilføjes til dato- og tidsudtrykket:

SELECT '2021-05-01 10:00:00' - INTERVAL -35 SECOND;

Resultat:

+---------------------------------------------+
| '2021-05-01 10:00:00' - INTERVAL -35 SECOND |
+---------------------------------------------+
| 2021-05-01 10:00:35                         |
+---------------------------------------------+

ADDTIME() Funktion

Du kan bruge ADDTIME() funktion til at tilføje et antal sekunder til et dato- og tidsudtryk.

Eksempel:

SELECT ADDTIME('2021-05-01 10:00:00', '00:00:30');

Resultat:

+--------------------------------------------+
| ADDTIME('2021-05-01 10:00:00', '00:00:30') |
+--------------------------------------------+
| 2021-05-01 10:00:30                        |
+--------------------------------------------+

En fordel ved denne funktion er, at du også kan ændre de andre tidsenheder, såsom timer, minutter 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:00:00', '-00:00:30');

Resultat:

+---------------------------------------------+
| SUBTIME('2021-05-01 10:00:00', '-00:00:30') |
+---------------------------------------------+
| 2021-05-01 10:00:30                         |
+---------------------------------------------+

Andre dato- og tidsenheder

Ovenstående eksempler tilføjer et antal sekunder 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.


  1. PostgreSQL 9.3:Dynamisk pivottabel

  2. Mit VARCHAR(MAX)-felt begrænser sig selv til 4000; hvad giver?

  3. Hvordan får man BLOB fra fil i PL/SQL?

  4. Introduktion til Azure Serverless