我希望任何人都可以翻译我的抽象查询。
我想从TABLE中选择*([MYDATETIMEROW]<(TODAY - 3 Days))。
我是否必须转换,投射或使用datepart或其他任何内容?..我很困惑。
有简单的规则吗?我不会有问题用linq这样做,但简单的sql我几乎没有学到。
谢谢你,并致以最诚挚的问候。
答案 0 :(得分:8)
简单来说:
Select * from Table where MyDateTimeRow < dateadd(dd,-3,getdate())
但是使用getdate()将同时提供日期和时间,经验表明这不太可能完全符合您的要求 - 您可能希望将时间缩短并仅考虑日期部分
Select * From Table where MyDateTimeRow < dateadd(dd, datediff(dd, 0, getdate()) - 3, 0)
答案 1 :(得分:2)
您希望DateAdd函数操作日期,GetDate函数获取当前日期:
SELECT * FROM MyTable WHERE [MyDateTimeRow] < DateAdd(dd, -3, GetDate())