能否对convert,between 进行优化?
比如:
select *
from table
where (convert(char(10),a.dTransDT,120) between 'beginTime ' and 'endTime ') and ...因为这个函数很耗时
比如:
select *
from table
where (convert(char(10),a.dTransDT,120) between 'beginTime ' and 'endTime ') and ...因为这个函数很耗时
select *
from table
where (a.dTransDT between @beginTime and @endTime) and ...
Coldate between ... and ..
加@有什么含义?
select *
from table a
where (convert(char(10),a.dTransDT,120) between '2006-06-01 ' and '2006-07-02 ') and ...select *
from table a
where (a.dTransDT between @'2006-06-01 'and @'2006-07-02 ') and ...这样?
比如 '2006-10-10 12:26:25.256 '
不知道,convert(char(10),a.dTransDT,120) between '2006-06-01 ' and '2006-07-02 ')得到的结果是否和(a.dTransDT between '2006-06-01 'and '2006-07-02 ')一样?
convert(char(10),a.dTransDT,120) between '2006-06-01 ' and '2006-07-02 ')得到的结果是和(a.dTransDT between '2006-06-01 'and '2006-07-02 ')一样
所以要转化convert函数
这是为什么?
from table a
where a.dTransDT between '2006-06-01' and '2006-07-02'“因为是为了优化,所以要转化convert函数”
转了反而是错的。
要优化这个时间表示方式
请大家多多指教
这是Datetime的特殊性
from table a
where a.dTransDT between '2006-06-01' and '2006-07-02'
比如a.dTransDT时间为:'2006-07-02 08:00:00'select *
from table a
where a.dTransDT between '2006-06-01' and '2006-07-02'
应该查不到