sql >> Databasteknik >  >> RDS >> MariaDB

8 sätt att lägga till minuter till en Datetime i MariaDB

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:

  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 minuter i block om 1 440, vilket är hur många minuter 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 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.


  1. Använda en vy utan primärnyckel med Entity

  2. varför jag misslyckas med att skapa den här tabellen på Android SQLite?

  3. Hur löser man tvetydiga kolumnnamn när man hämtar resultat?

  4. Postgresql-uppdatering med join