SQL Server在时间戳超过1个月时删除行

时间:2014-06-26 18:22:29

标签: sql sql-server

我试图在SQL Server中时间戳超过1个月时删除行。

到目前为止我得到的是:

DELETE FROM myTable WHERE DATEDIFF(month,getdate(),myColumn) < -1

这不是从我的表中删除任何东西,尽管它应该。这个查询有什么问题/有没有更好的方法来编写这个查询?

提前致谢,

2 个答案:

答案 0 :(得分:8)

使用月份函数舍入问题可能会给您带来问题 - 您可能会更好地使用DATEADD(),例如,

DELETE FROM myTable WHERE MyColumn < DATEADD(MONTH, -1, GETDATE())

答案 1 :(得分:0)

试试这个

SELECT * FROM MyTable WHERE DATEDIFF(DD, myColumn, GETDATE()) >=30