V MariaDB, TIME_TO_SEC() je vestavěná funkce data a času, která vrací svůj časový argument převedený na sekundy.
Syntaxe
Syntaxe vypadá takto:
TIME_TO_SEC(time)
Kde time je hodnota času, která má být převedena na sekundy.
Příklad
Zde je příklad:
SELECT TIME_TO_SEC('00:01:00'); Výsledek:
+-------------------------+
| TIME_TO_SEC('00:01:00') |
+-------------------------+
| 60 |
+-------------------------+ Zde je to s několika dalšími časovými hodnotami:
SELECT
TIME_TO_SEC('01:00:00'),
TIME_TO_SEC('15:37:46'); Výsledek:
+-------------------------+-------------------------+
| TIME_TO_SEC('01:00:00') | TIME_TO_SEC('15:37:46') |
+-------------------------+-------------------------+
| 3600 | 56266 |
+-------------------------+-------------------------+ Mikrosekundy
TIME_TO_SEC() podporuje mikrosekundy:
SELECT TIME_TO_SEC('00:01:00.123456'); Výsledek:
+--------------------------------+
| TIME_TO_SEC('00:01:00.123456') |
+--------------------------------+
| 60.123456 |
+--------------------------------+ Větší hodiny
TIME hodnoty mohou být v rozsahu '-838:59:59.999999' na '838:59:59.999999' .
Hodinová část proto může být mnohem vyšší než 23 :
SELECT TIME_TO_SEC('838:59:59'); Výsledek:
+--------------------------+
| TIME_TO_SEC('838:59:59') |
+--------------------------+
| 3020399 |
+--------------------------+ Záporné časové hodnoty
Zde je příklad se zápornou časovou hodnotou:
SELECT TIME_TO_SEC('-820:38:15'); Výsledek:
+---------------------------+
| TIME_TO_SEC('-820:38:15') |
+---------------------------+
| -2954295 |
+---------------------------+ Doby mimo rozsah
Pokud však zadáte hodnotu času mimo rozsah, vrátí se sekundy pro horní hranici tohoto rozsahu spolu s varováním:
SELECT TIME_TO_SEC('920:38:15'); Výsledek:
+--------------------------+
| TIME_TO_SEC('920:38:15') |
+--------------------------+
| 3020399 |
+--------------------------+
1 row in set, 1 warning (0.002 sec) Podívejme se na varování:
SHOW WARNINGS; Výsledek:
+---------+------+---------------------------------------------+ | Level | Code | Message | +---------+------+---------------------------------------------+ | Warning | 1292 | Truncated incorrect time value: '920:38:15' | +---------+------+---------------------------------------------+
Neplatný argument
Po předání neplatných argumentů TIME_TO_SEC() vrátí null s varováním:
SELECT TIME_TO_SEC('Homer'); Výsledek:
+----------------------+
| TIME_TO_SEC('Homer') |
+----------------------+
| NULL |
+----------------------+
1 row in set, 1 warning (0.000 sec) Zkontrolujte varování:
SHOW WARNINGS; Výsledek:
+---------+------+-------------------------------+ | Level | Code | Message | +---------+------+-------------------------------+ | Warning | 1292 | Incorrect time value: 'Homer' | +---------+------+-------------------------------+
Chybí argument
Volání TIME_TO_SEC() s nesprávným počtem argumentů nebo bez předání jakýchkoli argumentů vede k chybě:
SELECT TIME_TO_SEC(); Výsledek:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'TIME_TO_SEC'
A další příklad:
SELECT TIME_TO_SEC('10:09:10', 2); Výsledek:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'TIME_TO_SEC'