Dưới đây là một số tùy chọn để trừ một hoặc nhiều phút từ biểu thức datetime 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', '00:30:00');
Kết quả:
+--------------------------------------------+ | SUBTIME('2021-05-01 10:00:00', '00:30:00') | +--------------------------------------------+ | 2021-05-01 09:30:00 | +--------------------------------------------+
Bạn cũng có thể thay đổi các đơn vị thời gian khác, chẳng hạn như giờ, 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ố phút nhất định.
Ví dụ:
SELECT DATE_SUB('2021-05-01 10:00:00', INTERVAL 30 MINUTE);
Kết quả:
+-----------------------------------------------------+ | DATE_SUB('2021-05-01 10:00:00', INTERVAL 30 MINUTE) | +-----------------------------------------------------+ | 2021-05-01 09:30:00 | +-----------------------------------------------------+
Lưu ý rằng MINUTE
từ khóa vẫn không thuộc số nhiều bất kể chúng ta đang trừ đi một phút hay nhiều hơn.
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ể thực hiện tất cả phút và giây trong một lần.
Ví dụ:
SELECT DATE_SUB('2021-05-01 10:00:00', INTERVAL '15:30' MINUTE_SECOND);
Kết quả:
+-----------------------------------------------------------------+ | DATE_SUB('2021-05-01 10:00:00', INTERVAL '15:30' MINUTE_SECOND) | +-----------------------------------------------------------------+ | 2021-05-01 09:44:30 | +-----------------------------------------------------------------+
Chỉ ngày qua
Đây là những gì sẽ xảy ra nếu chúng tôi chỉ cung cấp giá trị ngày cho DATE_SUB()
chức năng:
SELECT DATE_SUB('2021-05-01', INTERVAL 30 MINUTE);
Kết quả:
+--------------------------------------------+ | DATE_SUB('2021-05-01', INTERVAL 30 MINUTE) | +--------------------------------------------+ | 2021-04-30 23:30:00 | +--------------------------------------------+
Nó giả định thời gian bắt đầu lúc 00:00:00 và vì vậy MINUTE
số tiền được trừ vào đó.
Toán tử phép trừ (-
)
Một cách khác để trừ một hoặc nhiều phút từ giá trị 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 30 MINUTE;
Kết quả:
+--------------------------------------------+ | '2021-05-01 10:00:00' - INTERVAL 30 MINUTE | +--------------------------------------------+ | 2021-05-01 09:30: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 -30 MINUTE;
Kết quả:
+---------------------------------------------+ | '2021-05-01 10:00:00' + INTERVAL -30 MINUTE | +---------------------------------------------+ | 2021-05-01 09:30:00 | +---------------------------------------------+
Các cách khác để trừ số phút
Dưới đây là một số phương pháp tiếp cận khác mà bạn có thể sử dụng để trừ một hoặc nhiều phút 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ớiDATE_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ờ).