Đáp án: MySQL dùng DATE_ADD()
Không có hàm DATEADD() trong MySQL (đó là SQL Server). MySQL cung cấp DATE_ADD() và toán tử +.
Cú pháp DATE_ADD()
DATE_ADD(thoi_gian, INTERVAL gia_tri DON_VI)
Cách 1: Dùng DATE_ADD()
mysql> SELECT DATE_ADD(NOW(), INTERVAL 30 MINUTE); +-------------------------------------+ | date_add(now(), interval 30 minute) | +-------------------------------------+ | 2019-02-27 15:38:27 | +-------------------------------------+
Cách 2: Dùng toán tử + (ngắn gọn hơn)
mysql> SELECT NOW() + INTERVAL 30 MINUTE; +--------------------------+ | now()+interval 30 minute | +--------------------------+ | 2019-02-27 15:39:33 | +--------------------------+
Các đơn vị thời gian hỗ trợ
| Đơn vị | Ví dụ |
|---|---|
| MICROSECOND | INTERVAL 500 MICROSECOND |
| SECOND | INTERVAL 30 SECOND |
| MINUTE | INTERVAL 30 MINUTE |
| HOUR | INTERVAL 2 HOUR |
| DAY | INTERVAL 7 DAY |
| WEEK | INTERVAL 1 WEEK |
| MONTH | INTERVAL 3 MONTH |
| QUARTER | INTERVAL 2 QUARTER |
| YEAR | INTERVAL 1 YEAR |
| Kết hợp | INTERVAL '1:30' HOUR_MINUTE |
Trừ thời gian
SELECT NOW() - INTERVAL 1 DAY; SELECT DATE_SUB(NOW(), INTERVAL 1 DAY);
Khuyến nghị: Dùng toán tử +/- cho code ngắn gọn, dễ đọc.