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ế.

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

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 date
  • value: 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ày
  • unit: Đơ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'

 

Nguồn: freetuts.net