根据时间类型的字段TriggerTime来查询:
where convert(char(10),TriggerTime,111) between '2009/12/05' and '2009/12/06'
如果为TriggerTime建立索引,也会因为查询条件中使用了函数而失效,有些朋友建议另建一个字符串类型的字段来专门存放格式化的日期,为其创建索引并以此来查询,我也试过了,由于数据量很大,日期值也会有很多重复的,只能创建非聚簇索引,我试过了,查询起来也一样慢呀,而还有一些统计更是要命呀,怎么办??
------解决方案--------------------------------------------------------
convert(char(10),TriggerTime,111) 这里有问题
------解决方案--------------------------------------------------------
直接使用DATETIME如何?
where TriggerTime between '2009/12/05 00:00:01' and '2009/12/05 23:59:59'
or
where TriggerTime between '2009/12/05 00:00:01' and '2009/12/06 00:00:01'