查询以选择两个日期之间的数据

时间:2014-10-11 07:47:03

标签: sql sql-server tsql date-range

我有start_dateend_date。我想获取这两个日期之间的数据列表。 任何人都可以帮我指出我的查询中的错误。

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

没有错误,但查询也没有返回任何记录。

2 个答案:

答案 0 :(得分:2)

正确施法是必要的

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

日期传递为参数的格式

'yyyy-MM-dd'

答案 1 :(得分:1)

最好使用> =和<并在where子句中使用time而不是在where中使用CAST。更好的表现。

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