Hàm ADDDATE trong MySQL
Trong bài này mình sẽ hướng dẫn cách sử dụng hàm ADDDATE
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 ADDDATE
trả về một ngày mà sau đó một khoảng thời gian/ngày nhất định đã được thêm vào.
2. Cú pháp
Cú pháp của hàm ADDDATE
trong MySQL
là:
ADDDATE( date, INTERVAL value unit )
Hoặc
Bài viết này được đăng tại [free tuts .net]
ADDDATE( date, days )
Trong đó:
date
: Ngày mà khoảng thời gian nên được thêm vào.days
: Số ngày để thêm vào datevalue
: Giá trị của khoảng thời gian/ngày mà bạn muốn thêm. Bạn có thể chỉ định giá trị dương và âm cho tham số nàyunit
: Đơn vị. Đơn vị có các giá trị như YEAR_MONTH, DAY_HOUR, DAY_MINUTE, DAY_SECOND, DAY_MICROSECOND, HOUR_MINUTE, HOUR_SECOND, MICROSECOND, SECOND, MINUTE, HOUR, DAY, WEEK, MONTH, QUARTER, YEAR...
3. Version
Hàm ADDDATE
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 ADDDATE('2019-03-28 22:24:21.000001', INTERVAL 15 MICROSECOND); Ket qua: '2019-03-28 22:24:21.000016' mysql> SELECT ADDDATE('2019-03-28 22:24:21', INTERVAL -40 SECOND); Ket qua: '2019-03-28 22:23:41' mysql> SELECT ADDDATE('2019-03-28 22:24:21', INTERVAL 35 MINUTE); Ket qua: '2019-03-28 22:59:21' mysql> SELECT ADDDATE('2019-03-28 22:24:21', INTERVAL -3 HOUR); Ket qua: '2019-03-28 19:24:21' mysql> SELECT ADDDATE('2019-03-28', INTERVAL 12 DAY); Ket qua: '2019-04-09' mysql> SELECT ADDDATE('2019-03-28', 11); Ket qua: '2019-04-08' mysql> SELECT ADDDATE('2019-03-28', INTERVAL 15 WEEK); Ket qua: '2019-07-11' mysql> SELECT ADDDATE('2019-03-28', INTERVAL -5 MONTH); Ket qua: '2018-10-28' mysql> SELECT ADDDATE('2019-03-28', INTERVAL 5 QUARTER); Ket qua: '2020-06-28' mysql> SELECT ADDDATE('2019-03-28', INTERVAL 5 YEAR); Ket qua: '2024-03-28' mysql> SELECT ADDDATE('2019-03-28 22:24:21', INTERVAL '15.000001' SECOND_MICROSECOND); Ket qua: '2019-03-28 22:24:36.000001' mysql> SELECT ADDDATE('2019-03-28 22:24:21.000001', INTERVAL '6:12.000001' MINUTE_MICROSECOND); Ket qua: '2019-03-28 22:30:33.000002' mysql> SELECT ADDDATE('2019-03-28 22:24:21', INTERVAL '7:12' MINUTE_SECOND); Ket qua: '2019-03-28 22:31:33' mysql> SELECT ADDDATE('2019-03-28 22:24:21.000001', INTERVAL '5:05:12.000001' HOUR_MICROSECOND); Ket qua: '2019-03-29 03:29:33.000002' mysql> SELECT ADDDATE('2019-03-28 22:24:21', INTERVAL '7:07:12' HOUR_SECOND); Ket qua: '2019-03-29 05:31:33' mysql> SELECT ADDDATE('2019-03-28 22:24:21', INTERVAL '9:03' HOUR_MINUTE); Ket qua: '2019-03-29 07:27:21' mysql> SELECT ADDDATE('2019-03-28 22:24:21', INTERVAL '9 9:03:12.000001' DAY_MICROSECOND); Ket qua: '2019-04-07 07:27:33.000001' mysql> SELECT ADDDATE('2019-03-28 22:24:21', INTERVAL '9 6:03:12' DAY_SECOND); Ket qua: '2019-04-07 04:27:33' mysql> SELECT ADDDATE('2019-03-28 22:24:21', INTERVAL '6 4:03' DAY_MINUTE); Ket qua: '2019-04-04 02:27:21' mysql> SELECT ADDDATE('2019-03-28 22:24:21', INTERVAL '8 3' DAY_HOUR); Ket qua: '2019-04-06 01:24:21' mysql> SELECT ADDDATE('2019-03-28', INTERVAL '9-3' YEAR_MONTH); Ket qua: '2028-06-28'