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