MariaDB cung cấp một số cách để thực hiện số học theo ngày tháng. Điều này bao gồm việc cộng hoặc trừ một ngày (hoặc nhiều ngày) từ một ngày nhất định.
Dưới đây là một ví dụ về việc trừ một ngày cho một ngày trong MariaDB.
SUBDATE()
Chức năng
SUBDATE()
chức năng cho phép bạn trừ một số ngày nhất định cho một ngày.
Cách dễ nhất để làm điều này là cung cấp ngày, sau đó là số ngày bạn muốn trừ đi.
Ví dụ:
SELECT SUBDATE('2021-05-21', 1);
Kết quả:
+ -------------------------- + | SUBDATE ('2021-05-21', 1) | + -------------------------- + | 2021-05-20 | + -------------------------- +
Nhiều ngày
Nếu bạn cần trừ nhiều hơn một ngày, chỉ cần sử dụng số đó thay vì 1
.
SELECT SUBDATE('2021-05-01', 30);
Kết quả:
+ --------------------------- + | SUBDATE ('2021-05-01', 30) | + --------------------------- + | 2021-04-01 | + --------------------------- +
Trong trường hợp này, chúng tôi đã trả lại ngày, trừ đi 30 ngày. Điều này cũng đưa ngày trở lại tháng trước.
Cú pháp dài dòng hơn
SUBDATE()
hàm cũng có cú pháp dài dòng hơn, nơi bạn có thể chỉ định đơn vị để trừ ngày. Ví dụ:bạn có thể chỉ định ngày, tuần, tháng, năm, v.v.
SELECT SUBDATE('2021-05-01', INTERVAL 1 DAY);
Kết quả:
+ --------------------------------------- + | SUBDATE ('2021-05-01', INTERVAL 1 NGÀY) | + ---------------------------------- ----- + | 2021-04-30 | + --------------------------------------- +
Lưu ý rằng khi trừ đi nhiều ngày, thì DAY
từ khóa không phải là số nhiều:
SELECT SUBDATE('2021-05-01', INTERVAL 10 DAY);
Kết quả:
+ ---------------------------------------- + | SUBDATE ('2021-05-01', INTERVAL 10 DAY) | + ---------------------------------- ------ + | 2021-04-21 | + ---------------------------------------- +Toán tử phép trừ (
-
)Một cách khác để trừ ngày cho một ngày 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' - INTERVAL 90 DAY;
Kết quả:
+ -------------------------------- + | '2021-05-01' - INTERVAL 90 NGÀY | + -------------------------------- + | 2021-01-31 | + -------------------------------- +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' + INTERVAL -90 DAY;
Kết quả:
+ --------------------------------- + | '2021-05-01' + INTERVAL -90 NGÀY | + --------------------------------- + | 2021-01-31 | + --------------------------------- +Các cách khác để trừ ngày cho ngà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 ngày cho một ngày:
-
DATE_SUB()
hàm (SUBDATE()
hàm được sử dụng trong ví dụ trên 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 một số tiền âm sẽ trừ số tiền đó vào ngày). -
ADDDATE()
(cung cấp một số tiền âm sẽ trừ số tiền đó vào ngày).