在SQL中将日期字段更改为上个月的最后一天

时间:2014-03-24 13:36:22

标签: sql date

我的数据库中有一个日期字段,我需要将其更改为上个月的最后一天。目前,此字段中的所有日期都是在该月的第一天。我知道我可以使用case语句来做到这一点,但是,我知道必须有一种更简单的方法来做到这一点。

如果这会产生影响,这也是一个日期时间字段。

非常感谢任何协助。

2 个答案:

答案 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;

每个主要数据库都应该有类似的东西