我试图在SQL Server中时间戳超过1个月时删除行。
到目前为止我得到的是:
DELETE FROM myTable WHERE DATEDIFF(month,getdate(),myColumn) < -1
这不是从我的表中删除任何东西,尽管它应该。这个查询有什么问题/有没有更好的方法来编写这个查询?
提前致谢,
答案 0 :(得分:8)
使用月份函数舍入问题可能会给您带来问题 - 您可能会更好地使用DATEADD(),例如,
DELETE FROM myTable WHERE MyColumn < DATEADD(MONTH, -1, GETDATE())
答案 1 :(得分:0)
试试这个
SELECT * FROM MyTable WHERE DATEDIFF(DD, myColumn, GETDATE()) >=30