ADDDATE(date,INTERVAL expr type) , ADDDATE(expr,days)
2 番目の引数の INTERVAL を指定する形式で呼び出した場合、ADDDATE() は DATE_ADD() とシノニムになる。関連する関数 SUBDATE() は DATE_SUB() のシノニム。
SELECT DATE_ADD('1998-01-02', INTERVAL 31 DAY);
-> '1998-02-02'LAST_DAY(date)
指定された日付または日付時刻の値に対し、その値が含まれる月の最後の日にちを返す。引数が無効な場合は、NULL を返す。
SELECT LAST_DAY('2003-02-05'), LAST_DAY('2004-02-05');
-> '2003-02-28', '2004-02-29'
先月末
select last_day(date_add(now(), interval -1 month))
今月末
select last_day(ow())
来月末
select last_day(date_add(now(), interval 1 month))