Saat menggunakan MySQL, Anda dapat menggunakan SEC_TO_TIME()
berfungsi untuk membangun waktu nilai berdasarkan jumlah detik tertentu. Pada dasarnya, Anda memberikan jumlah detik sebagai argumen, dan itu akan mengubahnya menjadi waktu nilai.
Begini cara kerjanya.
Sintaks
Sintaksnya seperti ini:
SEC_TO_TIME(seconds)
Dimana seconds
adalah jumlah detik yang ingin Anda ubah menjadi waktu nilai.
Contoh 1 – Penggunaan Dasar
Berikut ini contoh untuk didemonstrasikan.
SELECT SEC_TO_TIME(65);
Hasil:
+-----------------+ | SEC_TO_TIME(65) | +-----------------+ | 00:01:05 | +-----------------+
Contoh 2 – Nilai Lebih Besar
Berikut ini contoh dengan nilai yang sedikit lebih besar.
SELECT SEC_TO_TIME(6555);
Hasil:
+-------------------+ | SEC_TO_TIME(6555) | +-------------------+ | 01:49:15 | +-------------------+
Ini satu lagi dengan nilai yang lebih besar lagi.
SELECT SEC_TO_TIME(655555);
Hasil:
+---------------------+ | SEC_TO_TIME(655555) | +---------------------+ | 182:05:55 | +---------------------+
Jadi nilai waktu tidak terbatas pada 24 jam. Ini karena itu tidak terbatas hanya untuk mewakili waktu dalam sehari. Itu juga bisa mewakili waktu yang telah berlalu atau interval waktu antara dua peristiwa.
Contoh 3 – Keterbatasan waktu Jenis Data
time
tipe data terbatas pada rentang -838:59:59 ke 838:59:59 . Jika hasilnya berada di luar rentang tersebut, Anda akan mendapatkan peringatan.
SELECT SEC_TO_TIME(6555555);
Hasil:
+----------------------+ | SEC_TO_TIME(6555555) | +----------------------+ | 838:59:59 | +----------------------+ 1 row in set, 1 warning (0.00 sec)
Hati-hati sekalipun. Nilai waktu yang ditampilkan dapat menyesatkan, karena akan berhenti di 838:59:59 bahkan jika hasilnya akan lebih besar dari itu.
Berikut contoh lain menggunakan nilai yang lebih besar lagi.
SELECT SEC_TO_TIME(65555550000);
Hasil:
+--------------------------+ | SEC_TO_TIME(65555550000) | +--------------------------+ | 838:59:59 | +--------------------------+ 1 row in set, 1 warning (0.00 sec)
Perhatikan bahwa kita mendapatkan hasil yang sama seperti pada contoh sebelumnya, meskipun argumen detik jauh lebih besar dalam contoh ini.
Contoh 4 – Konteks Numerik
Berikut ini contoh penggunaan SEC_TO_TIME()
dalam konteks numerik. Kami melakukan ini dengan menambahkan nilai (dalam hal ini 0
) pada pernyataan tersebut.
SELECT SEC_TO_TIME(6555), SEC_TO_TIME(6555) + 0;
Hasil:
+-------------------+-----------------------+ | SEC_TO_TIME(6555) | SEC_TO_TIME(6555) + 0 | +-------------------+-----------------------+ | 01:49:15 | 14915 | +-------------------+-----------------------+