Hàm DATE_SUB trong MySQL
Trong bài này mình sẽ hướng dẫn cách sử dụng hàm DATE_SUB trong MySQL thông qua cú pháp và ví dụ thực tế.

Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.
1. Mô tả
Hàm DATE_SUB trả về một ngày mà sau đó một khoảng thời gian/ngày nhất định đã bị trừ.
2. Cú pháp
Cú pháp của hàm DATE_SUB trong MySQL là:
DATE_SUB( date, INTERVAL value unit )
Trong đó:
Bài viết này được đăng tại [free tuts .net]
date: Ngày mà khoảng thời gian nên được trừ.value: Giá trị của khoảng thời gian / ngày mà bạn muốn trừ. Bạn có thể chỉ định giá trị dương và âm cho tham số này.unit: Loại đơn vị của khoảng thời gian như NGÀY, THÁNG, PHÚT, GIỜ, v.v.
3. Version
Hàm DATE_SUB có thể được sử dụng trong các phiên bản sau của MySQL:
- MySQL 5.7, MySQL 5.6, MySQL 5.5, MySQL 5.1, MySQL 5.0, MySQL 4.1, MySQL 4.0, MySQL 3.23
4. Ví dụ
mysql> SELECT DATE_SUB('2019-03-29 09:45:25.000001', INTERVAL 5 MICROSECOND);
Ket qua: '2019-03-29 09:45:24.999996'
mysql> SELECT DATE_SUB('2019-03-29 09:45:25', INTERVAL 25 SECOND);
Ket qua: '2019-03-29 09:45:00'
mysql> SELECT DATE_SUB('2019-03-29 09:45:25', INTERVAL 40 MINUTE);
Ket qua: '2019-03-29 09:05:25'
mysql> SELECT DATE_SUB('2019-03-29 09:45:25', INTERVAL 5 HOUR);
Ket qua: '2019-03-29 04:45:25'
mysql> SELECT DATE_SUB('2019-03-29 09:45:25', INTERVAL 12 DAY);
Ket qua: '2019-03-17 09:45:25'
mysql> SELECT DATE_SUB('2019-03-29 09:45:25', INTERVAL 14 WEEK);
Ket qua: '2018-12-21 09:45:25'
mysql> SELECT DATE_SUB('2019-03-29', INTERVAL 2 MONTH);
Ket qua: '2019-01-29'
mysql> SELECT DATE_SUB('2019-03-29', INTERVAL 8 QUARTER);
Ket qua: '2017-03-29'
mysql> SELECT DATE_SUB('2019-03-29', INTERVAL 1 YEAR);
Ket qua: '2018-03-29'
mysql> SELECT DATE_SUB('2019-03-29 09:45:25.000001', INTERVAL '12.000001' SECOND_MICROSECOND);
Ket qua: '2019-03-29 09:45:13'
mysql> SELECT DATE_SUB('2019-03-29 09:45:25.000001', INTERVAL '3:12.000001' MINUTE_MICROSECOND);
Ket qua: '2019-03-29 09:42:13'
mysql> SELECT DATE_SUB('2019-03-29 09:45:25', INTERVAL '3:12' MINUTE_SECOND);
Ket qua: '2019-03-29 09:42:13'
mysql> SELECT DATE_SUB('2019-03-29 09:45:25.000001', INTERVAL '1:03:12.000001' HOUR_MICROSECOND);
Ket qua: '2019-03-29 08:42:13'
mysql> SELECT DATE_SUB('2019-03-29 09:45:25', INTERVAL '5:03:12' HOUR_SECOND);
Ket qua: '2019-03-29 04:42:13'
mysql> SELECT DATE_SUB('2019-03-29 09:45:25', INTERVAL '3:03' HOUR_MINUTE);
Ket qua: '2019-03-29 06:42:25'

Thiết lập ID tăng tự động với Identity trong SQL Server
Khóa ngoại (Foreign Key) trong MySQL
Mô hình thực thể mối kết hợp (ER)
Gộp dữ liệu với UNION và UNION ALL trong SQL
Hàm Hàm TO_DATE trong Oracle
Cách khai báo biến trong PHP, các loại biến thường gặp
Download và cài đặt Vertrigo Server
Thẻ li trong HTML
Thẻ article trong HTML5
Cấu trúc HTML5: Cách tạo template HTML5 đầu tiên
Cách dùng thẻ img trong HTML và các thuộc tính của img
Thẻ a trong HTML và các thuộc tính của thẻ a thường dùng