我的数据库中有一个日期字段,我需要将其更改为上个月的最后一天。目前,此字段中的所有日期都是在该月的第一天。我知道我可以使用case语句来做到这一点,但是,我知道必须有一种更简单的方法来做到这一点。
如果这会产生影响,这也是一个日期时间字段。
非常感谢任何协助。
答案 0 :(得分:3)
update your_table
set column_date=DATEADD(day,-1,DATEADD(month,(MONTH(@date)-1),DATEADD(year,Year(column_date)-1900,0)))
答案 1 :(得分:0)
在SQL SERVER中,您可以这样做:
UPDATE MYTABLE
SET MYDATEFIELD = DATEADD(DAY,-1,MYDATEFIELD);
在Oracle中它应该是:
UPDATE MYTABLE
SET MYDATEFIELD = MYDATEFIELD - 1;
每个主要数据库都应该有类似的东西