sql >> Databáze >  >> RDS >> MariaDB

8 způsobů, jak přidat sekundy k hodnotě data a času v MariaDB

Pokud potřebujete přidat jednu nebo více sekund k hodnotě datetime v MariaDB, zde je 8 možností, které je třeba zvážit.

DATE_ADD() Funkce

DATE_ADD() Funkce umožňuje přidat částku k výrazu datum nebo datum a čas. To zahrnuje přidávání časových částí, jako jsou hodiny, minuty, sekundy atd.

Příklad:

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

Výsledek:

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

V tomto případě jsem k výrazu datetime přidal 35 sekund. Všimněte si, že SECOND klíčové slovo zůstává nemnožné bez ohledu na to, zda přidávám jednu sekundu nebo více.

Pokud poskytnu pouze datum, stane se toto:

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

Výsledek:

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

Časová část je připojena k výsledku a předpokládá se, že počáteční čas byl 00:00:00 .

Při přidávání 60 sekund můžeme alternativně použít MINUTE klíčové slovo, pokud dáváme přednost:

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

Výsledek:

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

Tato technika samozřejmě funguje se 120 sekundami, 180 a tak dále. Stačí použít příslušný počet minut.

K přidání více jednotek můžete také použít složenou jednotku data a času. Pokud byste například chtěli přidat 1 minutu a 30 sekund, můžete to udělat takto:

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

Výsledek:

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

Úplný seznam jednotek data a času naleznete v části Jednotky data a času MariaDB.

ADDDATE() Funkce

Dalším způsobem, jak přidat sekundy do výrazu datetime, je použít ADDDATE() funkce. Tato funkce má dvě syntaxe:

  1. Jedna syntaxe vám umožňuje přidat k datu počet dní, což zde neděláme (pokud neplánujeme přidat sekundy v blocích po 86 400, což je počet sekund za den).
  2. Další syntaxe je stejná jako u DATE_ADD() funkce výše. Při použití této syntaxe ADDDATE() je synonymem pro DATE_ADD() .

Příklad:

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

Výsledek:

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

DATE_SUB() Funkce

DATE_SUB() funkce umožňuje odečíst částka k výrazu datum/datum a čas. Pokud však zadáte zápornou hodnotu k odečtení, skončí to tak, že bude přičteno na datum/čas.

Příklad:

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

Výsledek:

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

SUBDATE() Funkce

SUBDATE() funkce je synonymem pro DATE_SUB() při použití následující syntaxe.

Příklad:

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

Výsledek:

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

Znaménko + Operátor

Další možností je použít + operátor.

+ Operátor se používá k provádění sčítání a můžeme jej použít pro data spolu s příslušnou jednotkou data/času k přidání určitého počtu sekund k našemu výrazu datetime.

Příklad:

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

Výsledek:

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

- Operátor

- operátor lze použít k odečtení částky od data. Ale pokud se používá k odečtení záporného čísla, výsledkem je kladná částka přidaná k výrazu datetime:

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

Výsledek:

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

ADDTIME() Funkce

Můžete použít ADDTIME() funkce pro přidání počtu sekund k výrazu datetime.

Příklad:

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

Výsledek:

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

Jednou z výhod této funkce je, že můžete změnit i jiné časové jednotky, jako jsou hodiny, minuty atd.

SUBTIME() Funkce

Alternativně to můžete přepnout a použít SUBTIME() se zápornou hodnotou, pokud si to přejete:

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

Výsledek:

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

Další jednotky data a času

Výše uvedené příklady přidávají k hodnotě datetime počet sekund, ale stejné techniky můžeme použít k přidání libovolné jednotky data/času. Úplný seznam jednotek data a času, které lze použít s výše uvedenými funkcemi a operátory, najdete v části MariaDB Date and Time Units.


  1. Příkaz SQL INSERT INTO

  2. SQL, Postgres OID, co to jsou a proč jsou užitečné?

  3. Zvýraznění přístupů ve fulltextovém vyhledávání

  4. MariaDB JSON_EXTRACT() Vysvětleno