我正在使用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
你的意思是*小於*?今天比去年的這個時間更大。假設您試圖刪除舊記錄? –