簡體   English   中英

將sql中的字段更新為下個月的第一天

[英]Update field in sql to first day of the next month

我有根據過去發生的事件設置未來日期的 sql 命令。 目前,它將未來日期設置為距過去日期 365 天。 有沒有辦法將日期四舍五入到下個月的第一天? 我曾嘗試使用 EOMONTH 函數,但未能成功將其集成到我當前的語句中。 我有三種不同的設置日期方案:

第一個場景:

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

您可以使用 date_format() 函數,例如

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

這將為您提供當月的第一天。 如果你需要下一個用 date_add 添加一個月

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM