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'