在 SQL Server 2008中添加了日期数据类型。
将datetime
列转换date
为sargable并且可以在datetime
列上使用索引。
select *
from T
where cast(DateTimeCol as date) = '20130101';
Run Code Online (Sandbox Code Playgroud)
您拥有的另一个选择是改用范围。
select *
from T
where DateTimeCol >= '20130101' and
DateTimeCol < '20130102'
Run Code Online (Sandbox Code Playgroud)
这些查询是同样好还是应该优先于另一个?
sql-server ×1