2013-07-18 95 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

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

相關問題