Select 日期时间字段的日期条件

Select condition on date for datetime field

我想对 SQL 服务器中的日期时间字段施加日期条件。

datetime 字段是这样的 2011-01-19 17:57:18.350 当我执行下面的查询时它没有产生任何结果。

select top 1000 * 
from [dbo].[RouteState] 
where convert (date, logtime, 101) = '12-01-2015'

谁能帮我看看这是怎么回事?

无需将 datetime 列转换为任何内容。请改用闭开间隔并将字符串文字的格式更改为 yyyymmmdd 以确保 SQL 服务器将以相同的方式解释日期值,而不管区域和日期格式设置如何。

select top 1000 * 
from [dbo].[RouteState] 
where logtime >= '20150112' and
      logtime < '20150113';

有关投射专栏的更多信息,您可以查看 Cast to date is sargable but is it a good idea?