将MySql日期更新为给定月份的最后一天



我在一个表中有两个日期字段,我想将第二个字段更新到第一个字段之前两个月的最后一天。

例如:

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

最新更新