标签:带来 day time bsp pre cas 条件 数据 字段
在sql的查询中我们应该尽量避免在WHERE条件中的字段上用函数,如DATEDIFF,DATEADD,CONVERT
因为这样做会使该字段上的索引失效,影响SQL语句的性能。即使该字段上没有索引,也会给sql带来压力。
在以时间做条件查询的时候,比如要查询1天前的数据多数人会这么写:
--前一天数据 SELECT * FROM TableA WHERE DATEDIFF(DAY,dtTime,GETDATE()) < 1 --当前时间到昨天的数据 SELECT * FROM TableA WHERE DATEDIFF(DAY,dtTime,GETDATE()) <= 1
我们应该采用以下的写法:
--前一天数据 SELECT * FROM TableA WHERE dtTime > CAST(GETDATE()-1 AS date) AND dtTime< CAST(GETDATE() AS date) --当前时间到昨天的数据 SELECT * FROM TableA WHERE dtTime > CAST(GETDATE()-1 AS date)
标签:带来 day time bsp pre cas 条件 数据 字段
原文地址:http://www.cnblogs.com/ghelement/p/7500444.html