Sql 查询以选择两个日期之间的数据
我有一个Sql 查询以选择两个日期之间的数据,sql,sql-server,tsql,date-range,Sql,Sql Server,Tsql,Date Range,我有一个开始日期和结束日期。我想得到这两个日期之间的数据列表。 谁能帮我指出问题中的错误 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' 日期作为
开始日期
和结束日期
。我想得到这两个日期之间的数据列表。
谁能帮我指出问题中的错误
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'
最好在where子句中使用>=和<,并使用时间,而不是在where中使用强制转换。更好的性能
SELECT * FROM [dbo].[User]
WHERE [Date] >= '2014-8-01 00:00:00'
AND [Date] < '2014-8-31 00:00:00'
SELECT*FROM[dbo].[User]
其中[日期]>=“2014-8-01 00:00:00”
和[日期]<'2014-8-31 00:00:00'
首先,我会在之后的之间添加一个空格,并使用完整的yyyy-MM-dd
格式,即08
而不是8
。我意识到这不太可能带来不同,但试着从这开始。Date
字段的类型是什么?大概只有当Date
不是正确的类型时。。。我已经要求OP澄清。