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

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

Trong MariaDB, SUBTIME() là một hàm ngày và giờ được tích hợp sẵn để trừ một số tiền khỏi biểu thức thời gian hoặc ngày giờ.

Nó cho phép bạn thay đổi biểu thức thời gian hoặc ngày giờ bằng cách chuyển biểu thức đó, cũng như biểu thức thời gian để trừ khỏi biểu thức đó. Bạn có thể chuyển một số tiền âm nếu bạn cần thêm sang biểu thức thời gian.

Cú pháp

Cú pháp như sau:

SUBTIME(expr1,expr2)

Trong đó expr1 là một biểu thức thời gian hoặc ngày giờ và expr2 là một biểu thức thời gian.

Ví dụ

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

SELECT SUBTIME('10:00:00', '02:30:45');

Kết quả:

+---------------------------------+
| SUBTIME('10:00:00', '02:30:45') |
+---------------------------------+
| 07:29:15                        |
+---------------------------------+

Biểu thức ngày giờ

Đối số đầu tiên cũng có thể là một biểu thức datetime:

SELECT SUBTIME('2021-05-01 10:00:00', '22:30:45');

Kết quả:

+--------------------------------------------+
| SUBTIME('2021-05-01 10:00:00', '22:30:45') |
+--------------------------------------------+
| 2021-04-30 11:29:15                        |
+--------------------------------------------+

Trong trường hợp này, đã trừ đủ thời gian để kéo ngày trở lại ngày và tháng trước đó.

Biểu thức thời gian ở định dạng lỏng hơn

MariaDB cho phép ấn định thời gian ở các định dạng lỏng hơn, chẳng hạn như giảm các số 0 ở đầu và cung cấp một giá trị trong ngày.

Do đó, chúng ta có thể làm điều này:

SELECT SUBTIME('2021-05-01 10:00:00', '366 1:1:1.123456');

Kết quả:

+----------------------------------------------------+
| SUBTIME('2021-05-01 10:00:00', '366 1:1:1.123456') |
+----------------------------------------------------+
| 2020-04-30 08:58:58.876544                         |
+----------------------------------------------------+

Khoảng thời gian phủ định

Cung cấp khoảng âm cho phần ngày thêm số tiền đó cho thời gian / ngày giờ.

Ví dụ:

SELECT SUBTIME('2021-05-01 10:00:00', '-366 1:1:1.123456');

Kết quả:

+-----------------------------------------------------+
| SUBTIME('2021-05-01 10:00:00', '-366 1:1:1.123456') |
+-----------------------------------------------------+
| 2022-05-02 11:01:01.123456                          |
+-----------------------------------------------------+

Đối số rỗng

Nếu bất kỳ đối số nào là null , kết quả là null :

SELECT 
    SUBTIME('10:00:00', null),
    SUBTIME(null, '02:30:45'),
    SUBTIME(null, null);

Kết quả:

+---------------------------+---------------------------+---------------------+
| SUBTIME('10:00:00', null) | SUBTIME(null, '02:30:45') | SUBTIME(null, null) |
+---------------------------+---------------------------+---------------------+
| NULL                      | NULL                      | NULL                |
+---------------------------+---------------------------+---------------------+

Thiếu đối số

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

Kết quả:

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

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách TRIM_ORACLE () hoạt động trong MariaDB

  2. Cách CONCAT_WS () hoạt động trong MariaDB

  3. Cách thiết lập bản sao MariaDB (Master-Slave) trong CentOS / RHEL 7 và Debian 8/9

  4. Mẹo để theo dõi MariaDB Cluster

  5. Hàm AVG () trong MariaDB