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'