Mysql 将sql中的字段更新到下个月的第一天

Mysql 将sql中的字段更新到下个月的第一天,mysql,Mysql,我有sql命令,可以根据过去发生的事件设置未来的日期。目前,它将未来日期设置为距过去日期365天。有没有办法把日期整到下个月的第一天?我曾尝试使用EOMOUNT函数,但未能成功地将其集成到当前语句中。我有三种不同的设置日期的方案: 第一种情况: UPDATE `buildiumdata_leases` SET `Next_increase_date` = CASE WHEN Last_increase_date is NULL and Type = 'At Wil

我有sql命令,可以根据过去发生的事件设置未来的日期。目前,它将未来日期设置为距过去日期365天。有没有办法把日期整到下个月的第一天?我曾尝试使用EOMOUNT函数,但未能成功地将其集成到当前语句中。我有三种不同的设置日期的方案:

第一种情况:

UPDATE `buildiumdata_leases` SET `Next_increase_date` = CASE
                WHEN Last_increase_date is NULL and Type = 'At Will' THEN DATE_ADD(Start_date , INTERVAL 365 DAY)
                ELSE `Next_increase_date`
               END
UPDATE `buildiumdata_leases` SET `Next_increase_date` = CASE
                WHEN Last_increase_date is NULL and Type != 'At Will' THEN DATE_ADD(End_date, INTERVAL 1 DAY)
                  ELSE `Next_increase_date`
               END
UPDATE `buildiumdata_leases` SET `Next_increase_date` = CASE
                WHEN (Last_increase_date < Future_increase_date OR Last_increase_date is NULL) AND Future_increase_date IS NOT NULL THEN Future_increase_date
                ELSE `Next_increase_date`
               END
第二种情况:

UPDATE `buildiumdata_leases` SET `Next_increase_date` = CASE
                WHEN Last_increase_date is NULL and Type = 'At Will' THEN DATE_ADD(Start_date , INTERVAL 365 DAY)
                ELSE `Next_increase_date`
               END
UPDATE `buildiumdata_leases` SET `Next_increase_date` = CASE
                WHEN Last_increase_date is NULL and Type != 'At Will' THEN DATE_ADD(End_date, INTERVAL 1 DAY)
                  ELSE `Next_increase_date`
               END
UPDATE `buildiumdata_leases` SET `Next_increase_date` = CASE
                WHEN (Last_increase_date < Future_increase_date OR Last_increase_date is NULL) AND Future_increase_date IS NOT NULL THEN Future_increase_date
                ELSE `Next_increase_date`
               END
第三种情况:

UPDATE `buildiumdata_leases` SET `Next_increase_date` = CASE
                WHEN Last_increase_date is NULL and Type = 'At Will' THEN DATE_ADD(Start_date , INTERVAL 365 DAY)
                ELSE `Next_increase_date`
               END
UPDATE `buildiumdata_leases` SET `Next_increase_date` = CASE
                WHEN Last_increase_date is NULL and Type != 'At Will' THEN DATE_ADD(End_date, INTERVAL 1 DAY)
                  ELSE `Next_increase_date`
               END
UPDATE `buildiumdata_leases` SET `Next_increase_date` = CASE
                WHEN (Last_increase_date < Future_increase_date OR Last_increase_date is NULL) AND Future_increase_date IS NOT NULL THEN Future_increase_date
                ELSE `Next_increase_date`
               END
UPDATE`buildiumdata\u leases`SET`Next\u increase\u date`=CASE
当(上次增加日期<未来增加日期或上次增加日期为空)且未来增加日期不为空时,则为未来增加日期
ELSE`下一个增加日期`
结束

您可以使用date\u format()函数,如

date_format(yourdatecolumn, ‘%Y-%m-01‘)

这将为您提供本月的第一天。如果您需要在下一个月添加一个月的日期,请参见“谢谢”,这对我来说很有用,但需要做一些调整。