Nội dung chính
DATE_SUB(date,INTERVAL expr unit),
Hàm DATE_SUB() trong được sử dụng để tính toán datetime. Tham số date là một giá trị DATETIME hoặc DATE xác định ngày bắt đầu. Tham số expr là một biểu thức xác định giá trị INTERVAL để được thêm vào hoặc trừ đi từ ngày bắt đầu. Các expr là một chuỗi; Nó có thể bắt đầu với dấu '-' cho các khoảng âm.
Một unit là một từ khóa cho biết các đơn vị mà trong đó biểu thức nên được diễn giải.
Từ khóa INTERVAL và unit không phân biệt chữ hoa.
Bảng dưới đây cho thấy định dạng dự kiến của đối số expr cho mỗi giá trị unit.
Giá trị unit | Định dạng dự kiến |
---|---|
MICROSECOND | MICROSECONDS |
SECOND | SECONDS |
MINUTE | MINUTES |
HOUR | HOURS |
DAY | DAYS |
WEEK | WEEKS |
MONTH | MONTHS |
QUARTER | QUARTERS |
YEAR | YEARS |
SECOND_MICROSECOND | 'SECONDS.MICROSECONDS' |
MINUTE_MICROSECOND | 'MINUTES.MICROSECONDS' |
MINUTE_SECOND | 'MINUTES:SECONDS' |
HOUR_MICROSECOND | 'HOURS.MICROSECONDS' |
HOUR_SECOND | 'HOURS:MINUTES:SECONDS' |
HOUR_MINUTE | 'HOURS:MINUTES' |
DAY_MICROSECOND | 'DAYS.MICROSECONDS' |
DAY_SECOND | 'DAYS HOURS:MINUTES:SECONDS' |
DAY_MINUTE | 'DAYS HOURS:MINUTES' |
DAY_HOUR | 'DAYS HOURS' |
YEAR_MONTH | 'YEARS-MONTHS' |
Các giá trị QUARTER và WEEK có sẵn từ MySQL 5.0.0. phiên bản.
Ví dụ 1:
SELECT DATE_SUB('1997-12-31 23:59:59', INTERVAL '1:1' MINUTE_SECOND);
Kết quả:
+------------------------------------------------------------------+ | DATE_SUB('1997-12-31 23:59:59', INTERVAL '1:1' MINUTE_SECOND) | +------------------------------------------------------------------+ | 1997-12-31 23:58:58 | +------------------------------------------------------------------+ 1 row in set (0.0001 sec)
Ví dụ 2:
SELECT DATE_SUB('1999-01-01', INTERVAL 1 HOUR);
Kết quả:
+---------------------------------------------------------+ | DATE_SUB('1999-01-01', INTERVAL 1 HOUR) | +---------------------------------------------------------+ | 1998-12-31 23:00:00 | +---------------------------------------------------------+ 1 row in set (0.0001 sec)