【问题标题】:Query to select data between two dates查询以选择两个日期之间的数据
【发布时间】:2014-10-11 07:47:03
【问题描述】:

我有一个start_dateend_date。我想获取这两个日期之间的数据列表。 谁能帮我指出查询中的错误。

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

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

【问题讨论】:

  • 好吧,我先在between 之后添加一个空格,并使用完整的yyyy-MM-dd 格式,即08,而不是一个月的8。我意识到这不太可能有所作为,但请先尝试一下。 Date 字段的类型是什么?

标签: sql sql-server tsql date-range


【解决方案1】:

正确的铸造是必要的

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

作为参数传递的日期格式

'yyyy-MM-dd'

【讨论】:

  • 大概只有 Date 不是正确的类型...我已经要求 OP 澄清。
【解决方案2】:

最好在 where 子句中使用 >= 和

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

【讨论】:

    猜你喜欢
    • 2011-07-04
    • 2015-04-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-31
    • 2012-03-03
    • 2013-01-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多