我在一个表中有两个日期字段,我想将第二个字段更新到第一个字段之前两个月的最后一天。
例如:
当Date1 = '2018-01-01'
时,我想要date2 = '2018-03-31'
当Date1 = '2018-02-01'
时,我想要date2 = '2018-04-30'
这可以在一个命令中完成吗?
可以。有LAST_DAY()
函数,还有INTERVAL
语法,可以添加2个月。
这应该有效:
UPDATE table_name SET date2 = LAST_DAY(date1 + INTERVAL 2 MONTH);
您可以在下面尝试
select date1, last_day(date_add(date,interval 2 month)) as date2
from tablename