我有一個ms訪問表,包含startDate和EndDate,當兩個時間間隔的差值達到6個月時,如何從表中刪除一行使用SQL?我不需要給出日期我,我需要它,因爲我問... 任何幫助PLZ?SQL日期時間間隔
-1
A
回答
1
使用DateDiff:
DELETE FROM your_table
WHERE DateDiff("m", startDate, EndDate) = 6
對於記錄6個月及以上:
DELETE FROM your_table
WHERE DateDiff("m", startDate, EndDate) <= 6
0
在MSSQL的總體思路是這樣的:
DELETE FROM Archive WHERE [Date] < DATEADD(m, -6, GETDATE())
不知道是否訪問這些功能但應該有類似的東西。
編輯: 正如我懷疑,訪問做詢問服務Transact-SQL和具有這2層日期的功能,但它們只適用於Microsoft Access項目(.ADP)。希望這可以幫助。
+0
支持DateAdd()。對於GetDate(),你可以使用Date(),但我不認爲它回答了這個問題,因爲他不是爲6個月以上的記錄,而是爲兩個日期字段相隔6個月的記錄。 – 2009-12-03 06:01:18
1
你已經作出了正確的答案被@OMG小馬:
DELETE FROM your_table
WHERE DateDiff("m", startDate, EndDate) <= 6
...但我傾向於不使用這個,因爲它不會使用索引。因爲你對一個現場測試的計算,而不是針對一個文本值,可以用在任何起始日期指數
DELETE FROM your_table
WHERE StartDate <= DateAdd("m", -6, EndDate)
:相反,我會用這個。對於大型表格,這可能是一個重大的差異。
相關問題
- 1. SQL Server日期時間間隔
- 2. SQL日期間隔比較
- 3. PL/SQL和日期間隔
- 4. 將日期時間間隔添加到日期時間
- 5. 日期和時間分隔
- 6. 日期/時間分隔
- 7. MySQL日期和時間間隔 - 日期間的記錄
- 8. 匹配記錄日期時間間隔
- 9. 日期時間間隔錯誤
- 10. 使用時間間隔卡住日期
- 11. 組日期時間通過間隔
- 12. 付款日期基於時間間隔
- 13. 如何執行日期/時間間隔
- 14. 選擇日期與時間間隔
- 15. MySQL日期時間間隔不工作
- 16. PRTG值間隔日期時間值
- 17. Flask-sqlalchemy查詢日期時間間隔
- 18. 查找日期時間間隔索引
- 19. 創建日期時間間隔
- 20. 日期時間間隔在JodaTime內?
- 21. 時間間隔週期在SQL
- 22. DATE_SUB日期間隔
- 23. JPQL間隔日期
- 24. SQL Server:按日期時間間隔分組
- 25. 從多行查找日期/時間間隔T-SQL
- 26. 按日期時間間隔篩選SQL行
- 27. 在T-SQL減去日期時間間隔
- 28. Oracle PL/SQL日期時間數學間隔
- 29. SQL比較使用間隔日期和時間列
- 30. 總結日期,數到最小和最大日期按時間間隔 - SQL
最重要的問題是 - 爲什麼你需要刪除這些記錄?有什麼問題嗎?數百萬條記錄?錯誤消息? – 2009-12-02 07:51:54
用一句話詳細解釋<>。 – onedaywhen 2009-12-02 08:34:19
請不要再問一遍又一遍的問題 - 至少有兩個確切的重複內容..... – 2009-12-02 09:24:11