declare @pagesize varchar(10)-----显示每页数据的大小
declare @pageindex varchar(20)-----当前索引页
declare @testtime datetime -------建立测试时间
select @pagesize=10,@pageindex=9000,@testtime=getdate()declare @sql nvarchar(1000)
set @sql='select  top  '+@pagesize+'  *,datediff(ms,'+cast(@testtime as varchar(30))+',getdate())  from  #testtable   where tid not in (select top  '+cast(@pagesize * (@pageindex-1) as varchar(30))+'  a.tid  from  #testtable   a  order by a.tid desc) order by tid desc'
exec (@sql)
---------------------------------------------------------------
我去掉datediff(ms,'+cast(@testtime as varchar(30))+',getdate())这句就没事,我想把查询用时统计出来,怎么写啊??注意查询用时可能会非常小!!

解决方案 »

  1.   

    datediff(ms,'''+cast(@testtime as varchar(30))+''',getdate())
      

  2.   

    试试:
    set @sql='select  top  '+@pagesize+'  *,datediff(ms,'''+cast(@testtime as varchar(30))+''',getdate())  from  #testtable   where tid not in (select top  '+cast(@pagesize * (@pageindex-1) as varchar(30))+'  a.tid  from  #testtable   a  order by a.tid desc) order by tid desc'
      

  3.   

    select  top  10  *,datediff(ms,01  6 2007  1:14PM,getdate())  from  #testtable   where tid not in (select top  89990  a.tid  from  #testtable   a  order by a.tid desc) order by tid desc取出你的SQL分析一下,datediff(ms,01  6 2007  1:14PM,getdate()),中间少了两个单引号,所以要加上单引号,而在动态语句中,两个单引号代替一个单引号