sql >> Databasteknik >  >> RDS >> MariaDB

8 sätt att lägga till sekunder till ett Datetime-värde i MariaDB

Om du behöver lägga till en eller flera sekunder till ett datetime-värde i MariaDB, här är 8 alternativ att överväga.

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, som timmar, minuter, sekunder, etc.

Exempel:

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 det här fallet lade jag till 35 sekunder till datetime-uttrycket. Observera att SECOND sökord förblir icke-plural oavsett om jag lägger till en sekund eller mer.

Så här händer om jag bara anger datumet:

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 läggs till resultatet och det antas att den initiala tiden var 00:00:00 .

När vi lägger till 60 sekunder kan vi alternativt använda MINUT sökord om vi föredrar:

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                                |
+----------------------------------------------------+

Denna teknik fungerar uppenbarligen med 120 sekunder, 180, och så vidare. Använd bara tillämpligt antal minuter.

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 minut och 30 sekunder kan du göra så här:

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 datum- och tidsenheter för en fullständig lista över datum-/tidsenheter.

ADDDATE() Funktion

Ett annat sätt att lägga till sekunder till ett datetime-uttryck är att använda ADDDATE() fungera. Denna funktion har två syntaxer:

  1. 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 sekunder i block om 86 400, vilket är hur många sekunder det är på en dag).
  2. 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 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 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 SECOND);

Resultat:

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

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

Resultat:

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

+ Operatör

Ett annat alternativ är att använda + operatör.

+ operatorn används för att utfö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 sekunder till vårt datum- och tidsuttryck.

Exempel:

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 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 datum och tid uttrycket:

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 använda ADDTIME() funktion för att lägga till ett antal sekunder till ett datum och tid uttryck.

Exempel:

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 fördel med den här funktionen är att du även kan ändra de andra tidsenheterna, såsom timmar, minuter, 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:00:30');

Resultat:

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

Andra datum- och tidsenheter

Exemplen ovan lägger till ett antal sekunder 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.


  1. Hur man skapar utländsk nyckelbegränsning med PÅ UPPDATERING CASCADE i SQL Server - SQL Server / TSQL Handledning Del 79

  2. DBMS_SCHEDULER Jobbkörning varje timme Exempel

  3. Hur man konfigurerar Source-Replica Replication i MySQL

  4. Hur skriver man ut VARCHAR(MAX) med Print Statement?