--你可以优化啊
declare @sdate datetime 
set @sdate='2008-03-31'
select * from itr where convert(varchar(10),iTR_TransDate,120)=@sdate 

解决方案 »

  1.   


    一般是通过convert()函数做转换,不建议用between and 或者用>=
      

  2.   

    declare @sdate datetime ,@edate datetime 
    select @sdate='2008-03-31',@edate='2008-03-31 23:59:59'declare @bgn int , @end int 
    select @bgn = datediff(ss , '1970-1-1 8:00' , @sdate) 
    select @end = datediff(ss , '1970-1-1 8:00' , @edate) select @bgn , @bgn
    select * from itr where iTR_TransDate>=@bgn and ITR_TransDate <=@bgn select * from itr where iTR_TransDate>='2008-03-31' and ITR_TransDate <='2008-03-31 23:59:59'
    如上在你机器上执行看看哦
      

  3.   

    iTR_TransDate字段类型是DATETIME / SMALLDATETIME ? 如果不是,而且iTR_TransDate有索引,显然第二个会快很多
      

  4.   

    iTR_TransDate是datetime类型,而且有索引.有什么解决方法吗?