2013-07-18 97 views

回答

21

试试这个方法:

select * from tab 
where DateCol between DateAdd(DD,-7,GETDATE()) and GETDATE() 
+1

他只想要日期,所以它可能是与GETDATE() – makciook

+1

@makciook更换SYSDATETIME()是一个好主意 - 无论['SYSDATETIME()'和'GETDATE()'](http://msdn.microsoft.com/zh-cn/library/ms186724.aspx)返回日期时间值。 –

+0

@Damien - true,但SYSDATETIME()会为您提供不需要的精度,并且名称不适合使用和将来的维护。 – makciook

5

在Parado的答案查询是正确的,如果你想使用MySQL太多,而不是GETDATE()必须使用(因为你已经标记为SQL Server和MySQL这个问题) :

select * from tab 
where DateCol between adddate(now(),-7) and now() 
+0

这是一个坏主意,通过引用其他的答案在SO他们的位置(我认为你的意思是“上面的查询”),因为投票可以改变答案的相对位置。如果你想引用另外一个答案,它通常是最好的链接添加到它(每个答案下方有一个'share'选项,从中可以得到一个URL)和/或使用其他用户名。 –

+1

好吧,对不起。我是新手;) –

相关问题