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'