MariaDB
 sql >> Teknologi Basis Data >  >> RDS >> MariaDB

Bagaimana TIME_TO_SEC() Bekerja di MariaDB

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'

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MariaDB Server 10.0.33 sekarang tersedia

  2. Cara Menghubungkan Program C++ ke MariaDB

  3. Cara Meningkatkan dari MariaDB 10.4 ke MariaDB 10.5

  4. Bagaimana RTRIM_ORACLE() Bekerja di MariaDB

  5. Menyebarkan Database dan Cluster yang Sangat Tersedia dengan ClusterControl