MariaDB
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> MariaDB

Cách TIME_TO_SEC () hoạt động trong MariaDB

Trong MariaDB, TIME_TO_SEC() là một hàm ngày và giờ được tích hợp sẵn trả về đối số thời gian của nó, được chuyển đổi thành giây.

Cú pháp

Cú pháp như sau:

TIME_TO_SEC(time)

Nơi time là giá trị thời gian được chuyển đổi thành giây.

Ví dụ

Đây là một ví dụ:

SELECT TIME_TO_SEC('00:01:00');

Kết quả:

+-------------------------+
| TIME_TO_SEC('00:01:00') |
+-------------------------+
|                      60 |
+-------------------------+

Đây là với một vài giá trị thời gian khác:

SELECT 
    TIME_TO_SEC('01:00:00'),
    TIME_TO_SEC('15:37:46');

Kết quả:

+-------------------------+-------------------------+
| TIME_TO_SEC('01:00:00') | TIME_TO_SEC('15:37:46') |
+-------------------------+-------------------------+
|                    3600 |                   56266 |
+-------------------------+-------------------------+

Micro giây

TIME_TO_SEC() hỗ trợ micro giây:

SELECT TIME_TO_SEC('00:01:00.123456');

Kết quả:

+--------------------------------+
| TIME_TO_SEC('00:01:00.123456') |
+--------------------------------+
|                      60.123456 |
+--------------------------------+

Giờ lớn hơn

TIME giá trị có thể nằm trong khoảng '-838:59:59.999999' thành '838:59:59.999999' .

Do đó, phần giờ có thể cao hơn nhiều so với 23 :

SELECT TIME_TO_SEC('838:59:59');

Kết quả:

+--------------------------+
| TIME_TO_SEC('838:59:59') |
+--------------------------+
|                  3020399 |
+--------------------------+

Giá trị thời gian phủ định

Dưới đây là một ví dụ có giá trị thời gian âm:

SELECT TIME_TO_SEC('-820:38:15');

Kết quả:

+---------------------------+
| TIME_TO_SEC('-820:38:15') |
+---------------------------+
|                  -2954295 |
+---------------------------+

Thời gian ngoài phạm vi

Tuy nhiên, việc cung cấp giá trị thời gian bên ngoài phạm vi sẽ trả về số giây cho ranh giới trên của phạm vi đó, cùng với cảnh báo:

SELECT TIME_TO_SEC('920:38:15');

Kết quả:

+--------------------------+
| TIME_TO_SEC('920:38:15') |
+--------------------------+
|                  3020399 |
+--------------------------+
1 row in set, 1 warning (0.002 sec)

Hãy kiểm tra cảnh báo:

SHOW WARNINGS;

Kết quả:

+---------+------+---------------------------------------------+
| Level   | Code | Message                                     |
+---------+------+---------------------------------------------+
| Warning | 1292 | Truncated incorrect time value: '920:38:15' |
+---------+------+---------------------------------------------+

Đối số không hợp lệ

Khi được chuyển bất kỳ đối số không hợp lệ nào, TIME_TO_SEC() trả về null với một cảnh báo:

SELECT TIME_TO_SEC('Homer');

Kết quả:

+----------------------+
| TIME_TO_SEC('Homer') |
+----------------------+
|                 NULL |
+----------------------+
1 row in set, 1 warning (0.000 sec)

Kiểm tra cảnh báo:

SHOW WARNINGS;

Kết quả:

+---------+------+-------------------------------+
| Level   | Code | Message                       |
+---------+------+-------------------------------+
| Warning | 1292 | Incorrect time value: 'Homer' |
+---------+------+-------------------------------+

Thiếu đối số

Đang gọi TIME_TO_SEC() với số lượng đối số sai hoặc không chuyển bất kỳ đối số nào, dẫn đến lỗi:

SELECT TIME_TO_SEC();

Kết quả:

ERROR 1582 (42000): Incorrect parameter count in the call to native function 'TIME_TO_SEC'

Và một ví dụ khác:

SELECT TIME_TO_SEC('10:09:10', 2);

Kết quả:

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. Hàm MIN () trong MariaDB

  2. Có gì mới trong MariaDB 10.4

  3. Triển khai MariaDB Sharding với Spider bằng ClusterControl

  4. Ngôn ngữ ngày và giờ có sẵn trong MariaDB

  5. Giải thích các đơn vị ngày và giờ tổng hợp MariaDB