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

Cách trừ số giờ khỏi giá trị ngày giờ trong MariaDB

Dưới đây là một số tùy chọn để trừ một hoặc nhiều giờ cho giá trị ngày giờ trong MariaDB.

SUBTIME() Chức năng

SUBTIME() trừ một lượng thời gian nhất định cho một giá trị thời gian hoặc ngày giờ.

Ví dụ:

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

Kết quả:

+--------------------------------------------+
| SUBTIME('2021-05-01 10:00:00', '01:00:00') |
+--------------------------------------------+
| 2021-05-01 09:00:00                        |
+--------------------------------------------+

Bạn cũng có thể thay đổi các đơn vị thời gian khác, chẳng hạn như phút, giây, v.v.

DATE_SUB() Chức năng

DATE_SUB() hàm cho phép bạn trừ một số đơn vị ngày / giờ nhất định khỏi một biểu thức ngày tháng hoặc ngày giờ. Do đó, chúng ta có thể sử dụng hàm này để trả về giá trị ngày giờ, trừ đi một số giờ nhất định.

Ví dụ:

SELECT DATE_SUB('2021-05-01 10:00:00', INTERVAL 1 HOUR);

Kết quả:

+--------------------------------------------------+
| DATE_SUB('2021-05-01 10:00:00', INTERVAL 1 HOUR) |
+--------------------------------------------------+
| 2021-05-01 09:00:00                              |
+--------------------------------------------------+

Bạn cũng có thể sử dụng các đơn vị ngày và giờ tổng hợp. Ví dụ:bạn có thể làm tất cả giờ và phút trong một lần.

Ví dụ:

SELECT DATE_SUB('2021-05-01 10:00:00', INTERVAL '15:30' HOUR_MINUTE);

Kết quả:

+---------------------------------------------------------------+
| DATE_SUB('2021-05-01 10:00:00', INTERVAL '15:30' HOUR_MINUTE) |
+---------------------------------------------------------------+
| 2021-04-30 18:30:00                                           |
+---------------------------------------------------------------+

Chỉ ngày qua

Đây là những gì sẽ xảy ra nếu chúng tôi chỉ cung cấp một giá trị ngày:

SELECT DATE_SUB('2021-05-01', INTERVAL 1 HOUR);

Kết quả:

+-----------------------------------------+
| DATE_SUB('2021-05-01', INTERVAL 1 HOUR) |
+-----------------------------------------+
| 2021-04-30 23:00:00                     |
+-----------------------------------------+

Nó giả định thời gian bắt đầu lúc 00:00:00 và vì vậy HOUR số tiền được trừ vào đó.

Nhiều giờ

Nếu bạn cần trừ nhiều hơn một giờ, chỉ cần sử dụng số đó thay vì 1 . Tuy nhiên, HOUR từ khóa vẫn không thuộc số nhiều bất kể:

SELECT DATE_SUB('2021-05-01 10:00:00', INTERVAL 2 HOUR);

Kết quả:

+--------------------------------------------------+
| DATE_SUB('2021-05-01 10:00:00', INTERVAL 2 HOUR) |
+--------------------------------------------------+
| 2021-05-01 08:00:00                              |
+--------------------------------------------------+

Toán tử phép trừ (- )

Một cách khác để trừ giờ khỏi biểu thức ngày giờ là sử dụng toán tử phép trừ (- ), còn được gọi là toán tử trừ.

Ví dụ:

SELECT '2021-05-01 10:00:00' - INTERVAL 48 HOUR;

Kết quả:

+------------------------------------------+
| '2021-05-01 10:00:00' - INTERVAL 48 HOUR |
+------------------------------------------+
| 2021-04-29 10:00:00                      |
+------------------------------------------+

Toán tử bổ sung (+ )

Ngoài ra, bạn có thể sử dụng toán tử bổ sung (+ ) cùng với một số tiền âm.

Ví dụ:

SELECT '2021-05-01 10:00:00' + INTERVAL -48 HOUR;

Kết quả:

+-------------------------------------------+
| '2021-05-01 10:00:00' + INTERVAL -48 HOUR |
+-------------------------------------------+
| 2021-04-29 10:00:00                       |
+-------------------------------------------+

Các cách khác để trừ số giờ

Dưới đây là một số phương pháp khác mà bạn có thể sử dụng để trừ một hoặc nhiều giờ cho giá trị ngày giờ:

  • ADDTIME() (cung cấp số tiền âm sẽ trừ số tiền đó khỏi giá trị ngày giờ).
  • SUBDATE() hàm (đây là từ đồng nghĩa với DATE_SUB() khi được sử dụng với cùng một cú pháp).
  • DATE_ADD() (cung cấp số tiền âm sẽ trừ số tiền đó khỏi giá trị ngày giờ).
  • ADDDATE() (cung cấp số tiền âm sẽ trừ số tiền đó khỏi giá trị ngày giờ).

  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 UNCOMPRESS () hoạt động trong MariaDB

  2. MariaDB JSON_QUOTE () Giải thích

  3. Cách hoạt động của hàm INSERT () trong MariaDB

  4. Triển khai MySQL Galera Cluster 4.0 trên Amazon AWS EC2

  5. Kiểm soát chuyển đổi dự phòng sao chép cho MySQL và MariaDB với các tập lệnh chuyển đổi dự phòng trước hoặc sau dự phòng