您的两个查询不相同。该
datediff版本将包含所有
01-Jan-2013时间的值,而介于两个版本之间的版本将仅包含时间
01-Jan-2013所在的行
00:00:00。
如果您检查范围,并且不对该列进行任何计算,则查询将能够使用on索引,
Something_Date并且同时包括来自
01-Jan-2013任何时间部分的所有值。
where SIH.[Something_Date] >= '19700101' and SIH.[Something_Date] < '20130102'

您的两个查询不相同。该
datediff版本将包含所有
01-Jan-2013时间的值,而介于两个版本之间的版本将仅包含时间
01-Jan-2013所在的行
00:00:00。
如果您检查范围,并且不对该列进行任何计算,则查询将能够使用on索引,
Something_Date并且同时包括来自
01-Jan-2013任何时间部分的所有值。
where SIH.[Something_Date] >= '19700101' and SIH.[Something_Date] < '20130102'