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ế.
![banquyen png](https://freetuts.net/public/banquyen.png)
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'