sql今天比较日期时间

时间:2010-01-04 09:59:08

标签: sql tsql datetime

我希望任何人都可以翻译我的抽象查询。

我想从TABLE中选择*([MYDATETIMEROW]<(TODAY - 3 Days))。

我是否必须转换,投射或使用datepart或其他任何内容?..我很困惑。

有简单的规则吗?我不会有问题用linq这样做,但简单的sql我几乎没有学到。

谢谢你,并致以最诚挚的问候。

2 个答案:

答案 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())