首页 > 解决方案 > 将第 28 天设为一个月的最后一天

问题描述

我想将所有日期更改为第 29 天、第 30 天或第 31 天到第 28 天。

我看到了使用的例子,EOMONTH()这不是我需要的,我只需要更改这些具体日期,我找不到任何参考。

标签: sqlsql-server

解决方案


既然你提到eomonth()了函数,我会假设你正在使用 SQL Server,在这种情况下你可以做你想做的事datefromparts()

update tablename
set date = datefromparts(year(date), month(date), 28)
where day(date) > 28

或者如果你想要一个选择语句:

select 
  case 
    when day(date) <= 28 then date
    else datefromparts(year(date), month(date), 28)
  end as date
from tablename

推荐阅读