Dưới đây là một số tùy chọn để trừ một hoặc nhiều giây 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:00:30');
Kết quả:
+--------------------------------------------+ | SUBTIME('2021-05-01 10:00:00', '00:00:30') | +--------------------------------------------+ | 2021-05-01 09:59:30 | +--------------------------------------------+
Bạn cũng có thể thay đổi các đơn vị thời gian khác, chẳng hạn như giờ, phút, 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ây nhất định.
Ví dụ:
SELECT DATE_SUB('2021-05-01 10:00:00', INTERVAL 30 SECOND);
Kết quả:
+-----------------------------------------------------+ | DATE_SUB('2021-05-01 10:00:00', INTERVAL 30 SECOND) | +-----------------------------------------------------+ | 2021-05-01 09:59:30 | +-----------------------------------------------------+
Lưu ý rằng SECOND
từ khóa vẫn không thuộc số nhiều bất kể bạn đang trừ đi một giây 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 một giá trị ngày:
SELECT DATE_SUB('2021-05-01', INTERVAL 30 SECOND);
Kết quả:
+--------------------------------------------+ | DATE_SUB('2021-05-01', INTERVAL 30 SECOND) | +--------------------------------------------+ | 2021-04-30 23:59:30 | +--------------------------------------------+
Nó giả định thời gian bắt đầu lúc 00:00:00 và vì vậy SECOND
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 giây 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 SECOND;
Kết quả:
+--------------------------------------------+ | '2021-05-01 10:00:00' - INTERVAL 30 SECOND | +--------------------------------------------+ | 2021-05-01 09:59:30 | +--------------------------------------------+
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 SECOND;
Kết quả:
+---------------------------------------------+ | '2021-05-01 10:00:00' + INTERVAL -30 SECOND | +---------------------------------------------+ | 2021-05-01 09:59:30 | +---------------------------------------------+
Các cách khác để trừ giây
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ây cho giá trị ngày giờ:
-
SUBTIME()
chức năng. -
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ờ).