我有一個start_date
和end_date
。我想獲取這兩個日期之間的數據列表。 任何人都可以幫助我指出我的查詢中的錯誤。查詢選擇兩個日期之間的數據
select * from [dbo].[User]
where Date between'2014-8-01' AND '2014-8-30'
沒有錯誤,但查詢也不返回任何記錄。
我有一個start_date
和end_date
。我想獲取這兩個日期之間的數據列表。 任何人都可以幫助我指出我的查詢中的錯誤。查詢選擇兩個日期之間的數據
select * from [dbo].[User]
where Date between'2014-8-01' AND '2014-8-30'
沒有錯誤,但查詢也不返回任何記錄。
正確的鑄造需要
select * from [dbo].[User]
where CAST([Date] as DATE) between '2014-08-01' AND '2014-08-30'
格式傳遞日期爲參數
'yyyy-MM-dd'
大概只有當'日期'不是正確的類型...我已經要求OP澄清。 – 2014-10-11 07:48:59
謝謝你的回答我的問題 – 2014-10-11 07:52:11
最好使用> =和<和你的where子句中,而不是在使用CAST的使用時間。更好的性能。
SELECT * FROM [dbo].[User]
WHERE [Date] >= '2014-8-01 00:00:00'
AND [Date] < '2014-8-31 00:00:00'
嗯,我想通過between'後'加空格,並使用全'YYYY-MM-dd'格式,即'08',而不是'8'月開始。我意識到這是不太可能做出不同的,但試着從頭開始。 「日期」字段的類型是什麼? – 2014-10-11 07:48:42
它是日期時間字段 – 2014-10-11 07:53:28