Di MariaDB, TIME_TO_SEC() adalah fungsi tanggal dan waktu bawaan yang mengembalikan argumen waktunya, dikonversi ke detik.
Sintaks
Sintaksnya seperti ini:
TIME_TO_SEC(time)
Dimana time adalah nilai waktu yang akan dikonversi ke detik.
Contoh
Ini contohnya:
SELECT TIME_TO_SEC('00:01:00'); Hasil:
+-------------------------+
| TIME_TO_SEC('00:01:00') |
+-------------------------+
| 60 |
+-------------------------+ Ini dia dengan beberapa nilai waktu lainnya:
SELECT
TIME_TO_SEC('01:00:00'),
TIME_TO_SEC('15:37:46'); Hasil:
+-------------------------+-------------------------+
| TIME_TO_SEC('01:00:00') | TIME_TO_SEC('15:37:46') |
+-------------------------+-------------------------+
| 3600 | 56266 |
+-------------------------+-------------------------+ Mikrodetik
TIME_TO_SEC() mendukung mikrodetik:
SELECT TIME_TO_SEC('00:01:00.123456'); Hasil:
+--------------------------------+
| TIME_TO_SEC('00:01:00.123456') |
+--------------------------------+
| 60.123456 |
+--------------------------------+ Jam Lebih Besar
TIME nilai bisa dalam rentang '-838:59:59.999999' ke '838:59:59.999999' .
Oleh karena itu, porsi jam bisa jauh lebih tinggi dari 23 :
SELECT TIME_TO_SEC('838:59:59'); Hasil:
+--------------------------+
| TIME_TO_SEC('838:59:59') |
+--------------------------+
| 3020399 |
+--------------------------+ Nilai Waktu Negatif
Berikut ini contoh dengan nilai waktu negatif:
SELECT TIME_TO_SEC('-820:38:15'); Hasil:
+---------------------------+
| TIME_TO_SEC('-820:38:15') |
+---------------------------+
| -2954295 |
+---------------------------+ Waktu Di Luar Jangkauan
Namun, memberikan nilai waktu di luar rentang akan mengembalikan detik untuk batas atas rentang tersebut, bersama dengan peringatan:
SELECT TIME_TO_SEC('920:38:15'); Hasil:
+--------------------------+
| TIME_TO_SEC('920:38:15') |
+--------------------------+
| 3020399 |
+--------------------------+
1 row in set, 1 warning (0.002 sec) Mari kita periksa peringatannya:
SHOW WARNINGS; Hasil:
+---------+------+---------------------------------------------+ | Level | Code | Message | +---------+------+---------------------------------------------+ | Warning | 1292 | Truncated incorrect time value: '920:38:15' | +---------+------+---------------------------------------------+
Argumen Tidak Valid
Saat melewati argumen yang tidak valid, TIME_TO_SEC() mengembalikan null dengan peringatan:
SELECT TIME_TO_SEC('Homer'); Hasil:
+----------------------+
| TIME_TO_SEC('Homer') |
+----------------------+
| NULL |
+----------------------+
1 row in set, 1 warning (0.000 sec) Periksa peringatannya:
SHOW WARNINGS; Hasil:
+---------+------+-------------------------------+ | Level | Code | Message | +---------+------+-------------------------------+ | Warning | 1292 | Incorrect time value: 'Homer' | +---------+------+-------------------------------+
Argumen Tidak Ada
Memanggil TIME_TO_SEC() dengan jumlah argumen yang salah, atau tanpa memberikan argumen apa pun, menghasilkan kesalahan:
SELECT TIME_TO_SEC(); Hasil:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'TIME_TO_SEC'
Dan contoh lain:
SELECT TIME_TO_SEC('10:09:10', 2); Hasil:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'TIME_TO_SEC'