2014-10-11 107 views
2

我有一個start_dateend_date。我想獲取這兩個日期之間的數據列表。 任何人都可以幫助我指出我的查詢中的錯誤。查詢選擇兩個日期之間的數據

select * from [dbo].[User] 
where Date between'2014-8-01' AND '2014-8-30' 

沒有錯誤,但查詢也不返回任何記錄。

+0

嗯,我想通過between'後'加空格,並使用全'YYYY-MM-dd'格式,即'08',而不是'8'月開始。我意識到這是不太可能做出不同的,但試着從頭開始。 「日期」字段的類型是什麼? – 2014-10-11 07:48:42

+0

它是日期時間字段 – 2014-10-11 07:53:28

回答

2

正確的鑄造需要

select * from [dbo].[User] 
    where CAST([Date] as DATE) between '2014-08-01' AND '2014-08-30' 

格式傳遞日期爲參數

'yyyy-MM-dd' 
+0

大概只有當'日期'不是正確的類型...我已經要求OP澄清。 – 2014-10-11 07:48:59

+0

謝謝你的回答我的問題 – 2014-10-11 07:52:11

1

最好使用> =和<和你的where子句中,而不是在使用CAST的使用時間。更好的性能。

SELECT * FROM [dbo].[User] 
    WHERE [Date] >= '2014-8-01 00:00:00' 
    AND [Date] < '2014-8-31 00:00:00' 
相關問題