在没有时间的SQL中查询日期时间

ali*_*ce7 6 sql sql-server datetime sql-server-2008

我正在尝试编写一个SQL查询,它应该只选择具有特定日期而不是时间的计数.

select count(*) from xyz where time='2010-01-21'
Run Code Online (Sandbox Code Playgroud)

但它没有返回任何结果.

Jef*_*ata 7

对于SQL Server 2008,您应该能够使用日期数据类型:

select count(*) from xyz where cast(time as date) = '2010-01-21'
Run Code Online (Sandbox Code Playgroud)


Jas*_*son 4

如果您有日期时间字段,并且您想要匹配日期:

select count(*) from xyz where time BETWEEN '2010-01-21' AND '2010-01-22'

MYSQL 日期时间参考