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

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

Trong MariaDB, SEC_TO_TIME() là một hàm ngày và giờ được tích hợp sẵn trả về giá trị thời gian, dựa trên số giây được cung cấp dưới dạng đối số.

Cú pháp

Cú pháp như sau:

SEC_TO_TIME(seconds)

Ví dụ

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

SELECT SEC_TO_TIME(1);

Kết quả:

+----------------+
| SEC_TO_TIME(1) |
+----------------+
| 00:00:01       |
+----------------+

Đây là một cái khác:

SELECT SEC_TO_TIME(18520);

Kết quả:

+--------------------+
| SEC_TO_TIME(18520) |
+--------------------+
| 05:08:40           |
+--------------------+

Ngoài Phạm vi Giây

Phạm vi của kết quả bị giới hạn trong phạm vi của kiểu dữ liệu thời gian. Cảnh báo xảy ra nếu đối số tương ứng với giá trị bên ngoài phạm vi đó. Phạm vi cho giá trị thời gian MariaDB là '-838:59:59.999999' thành '838:59:59.999999' .

Dù sao, đây là một ví dụ về thời gian có các giá trị nằm ở phần trên của phạm vi được chấp nhận của chúng:

SELECT SEC_TO_TIME(3020399);

Kết quả:

+----------------------+
| SEC_TO_TIME(3020399) |
+----------------------+
| 838:59:59            |
+----------------------+

Và đây là một trong số đó nằm ngoài phạm vi:

SELECT SEC_TO_TIME(3020400);

Kết quả:

+----------------------+
| SEC_TO_TIME(3020400) |
+----------------------+
| 838:59:59            |
+----------------------+
1 row in set, 1 warning (0.000 sec)

Đây là cảnh báo:

SHOW WARNINGS;

Kết quả:

+---------+------+----------------------------------------------+
| Level   | Code | Message                                      |
+---------+------+----------------------------------------------+
| Warning | 1292 | Truncated incorrect seconds value: '3020400' |
+---------+------+----------------------------------------------+

Micro giây

Chúng tôi thậm chí có thể tiến gần hơn đến phạm vi trên bằng cách bao gồm micro giây:

SELECT SEC_TO_TIME(3020399.999999);

Kết quả:

+-----------------------------+
| SEC_TO_TIME(3020399.999999) |
+-----------------------------+
| 838:59:59.999999            |
+-----------------------------+

Lập luận phủ định

Việc cung cấp số tiền âm dẫn đến giá trị thời gian âm.

Ví dụ:

SELECT SEC_TO_TIME(-3020399);

Kết quả:

+-----------------------+
| SEC_TO_TIME(-3020399) |
+-----------------------+
| -838:59:59            |
+-----------------------+

Thiếu đối số

Đang gọi SEC_TO_TIME() 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 SEC_TO_TIME();

Kết quả:

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

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

SELECT SEC_TO_TIME( 123, 456 );

Kết quả:

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

Dành thời gian

Cũng xem MAKETIME() để xây dựng một giá trị thời gian từ giờ, phút và giây của nó.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tự động hóa cơ sở dữ liệu với con rối:Triển khai MySQL &MariaDB Galera Cluster

  2. Cách trừ một ngày khỏi một ngày trong MariaDB

  3. Chạy ProxySQL dưới dạng Dịch vụ Kubernetes

  4. So sánh Amazon RDS Point-in-Time Recovery với ClusterControl

  5. Cách cài đặt MariaDB trên Rocky Linux và AlmaLinux