In MariaDB, TIME_TO_SEC()
is een ingebouwde datum- en tijdfunctie die het tijdargument teruggeeft, geconverteerd naar seconden.
Syntaxis
De syntaxis gaat als volgt:
TIME_TO_SEC(time)
Waar time
is de tijdwaarde die moet worden geconverteerd naar seconden.
Voorbeeld
Hier is een voorbeeld:
SELECT TIME_TO_SEC('00:01:00');
Resultaat:
+-------------------------+ | TIME_TO_SEC('00:01:00') | +-------------------------+ | 60 | +-------------------------+
Hier is het met een paar andere tijdwaarden:
SELECT
TIME_TO_SEC('01:00:00'),
TIME_TO_SEC('15:37:46');
Resultaat:
+-------------------------+-------------------------+ | TIME_TO_SEC('01:00:00') | TIME_TO_SEC('15:37:46') | +-------------------------+-------------------------+ | 3600 | 56266 | +-------------------------+-------------------------+
Microseconden
TIME_TO_SEC()
ondersteunt microseconden:
SELECT TIME_TO_SEC('00:01:00.123456');
Resultaat:
+--------------------------------+ | TIME_TO_SEC('00:01:00.123456') | +--------------------------------+ | 60.123456 | +--------------------------------+
Grotere uren
TIME
waarden kunnen in het bereik liggen '-838:59:59.999999'
naar '838:59:59.999999'
.
Daarom kan het uurgedeelte veel hoger zijn dan 23
:
SELECT TIME_TO_SEC('838:59:59');
Resultaat:
+--------------------------+ | TIME_TO_SEC('838:59:59') | +--------------------------+ | 3020399 | +--------------------------+
Negatieve tijdwaarden
Hier is een voorbeeld met een negatieve tijdwaarde:
SELECT TIME_TO_SEC('-820:38:15');
Resultaat:
+---------------------------+ | TIME_TO_SEC('-820:38:15') | +---------------------------+ | -2954295 | +---------------------------+
Tijden buiten bereik
Als u echter een tijdwaarde buiten het bereik opgeeft, worden de seconden voor de bovengrens van dat bereik geretourneerd, samen met een waarschuwing:
SELECT TIME_TO_SEC('920:38:15');
Resultaat:
+--------------------------+ | TIME_TO_SEC('920:38:15') | +--------------------------+ | 3020399 | +--------------------------+ 1 row in set, 1 warning (0.002 sec)
Laten we de waarschuwing eens bekijken:
SHOW WARNINGS;
Resultaat:
+---------+------+---------------------------------------------+ | Level | Code | Message | +---------+------+---------------------------------------------+ | Warning | 1292 | Truncated incorrect time value: '920:38:15' | +---------+------+---------------------------------------------+
Ongeldig argument
Bij het doorgeven van ongeldige argumenten, TIME_TO_SEC()
retourneert null
met een waarschuwing:
SELECT TIME_TO_SEC('Homer');
Resultaat:
+----------------------+ | TIME_TO_SEC('Homer') | +----------------------+ | NULL | +----------------------+ 1 row in set, 1 warning (0.000 sec)
Controleer de waarschuwing:
SHOW WARNINGS;
Resultaat:
+---------+------+-------------------------------+ | Level | Code | Message | +---------+------+-------------------------------+ | Warning | 1292 | Incorrect time value: 'Homer' | +---------+------+-------------------------------+
Ontbrekend argument
Bellen TIME_TO_SEC()
met het verkeerde aantal argumenten, of zonder het doorgeven van argumenten, resulteert in een fout:
SELECT TIME_TO_SEC();
Resultaat:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'TIME_TO_SEC'
En nog een voorbeeld:
SELECT TIME_TO_SEC('10:09:10', 2);
Resultaat:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'TIME_TO_SEC'