MySQL的ADDDATE()函数可以用于向一个日期添加一定的天数、月数或年数。
其语法如下:
ADDDATE(date, INTERVAL expr unit)
其中,date是要添加的日期,expr是要添加的数值,unit是要添加的单位(可以是DAY、MONTH或YEAR)。
举个例子,我们可以用下面的SQL语句来向一个具体日期(比如‘2022-01-01’)添加一定的天数:
SELECT ADDDATE('2022-01-01', INTERVAL 30 DAY);
这个查询的结果是‘2022-01-31’,即原来的日期加上了30天。
我们也可以使用ADDDATE()函数来向一个日期添加月数或年数。例如,下面的SQL语句相当于在2022年的基础上再添加3个月:
SELECT ADDDATE('2022-01-01', INTERVAL 3 MONTH);
这个查询的结果是‘2022-04-01’。
需要注意的是,ADDDATE()函数会自动进行日期计算,包括自动处理跨越月份、年份的情况。如果在添加时超出了当前月份、年份的天数范围,则会自动将日期调整为正确的日期。比如下面的例子:
SELECT ADDDATE('2022-01-31', INTERVAL 1 MONTH);
这个查询的结果是‘2022-02-28’,因为2022年2月份只有28天。
在实际开发中,ADDDATE()函数常常与其他函数一起使用,比如DATE_ADD()函数、CURDATE()函数、NOW()函数等等,以便在SQL语句中方便地进行日期计算。下面是一个例子:
SELECT DATE_ADD(CURDATE(), INTERVAL 7 DAY);
这个查询的结果是当前日期加上7天的日期。