我正在使用SQL Server 2012.我需要删除比去年更大的数据。SQL Server删除大于去年这个时间的记录
到目前为止,请删除大于28/11/的任何记录。
虽然这是滚动,并将成为每天将运行的SP的一部分,所以它每天都会检查当前日期并删除。做这个的最好方式是什么?
DELETE tblmytable
where MyDateField > GETDATE()
我该如何改变>去年的今天?
我正在使用SQL Server 2012.我需要删除比去年更大的数据。SQL Server删除大于去年这个时间的记录
到目前为止,请删除大于28/11/的任何记录。
虽然这是滚动,并将成为每天将运行的SP的一部分,所以它每天都会检查当前日期并删除。做这个的最好方式是什么?
DELETE tblmytable
where MyDateField > GETDATE()
我该如何改变>去年的今天?
使用DATEADD
DELETE
from tblmytable
where MyDateField > dateadd(yy, -1, GETDATE())
明白了,这就是答案:
Delete tblmytable
where MyDateField > DATEADD(year, -1, GETDATE())
虽然关闭,但其语法不正确,您在删除后缺少。 –
你可以试试这个:
delete from table
where dateField > dateadd(yy, -1, getdate())
此问题已由其他用户发布相同答案。如果你想区分你的答案,请添加更多的细节。 – mmushtaq
你的意思是*小于*?今天比去年的这个时间更大。假设您试图删除旧记录? –