set statistics time on
go
<运行的语句...>这样可以看到该语句的运行时间,如:SQL Server 执行时间:
   CPU 时间 = 15 毫秒,占用时间 = 1 毫秒。(1 行受影响)请问这个占用时间的值(1毫秒)该如何取到呢?
我觉得既然它能够显示出来,就应该能取到这样的值,还请大虾帮忙看看。谢谢!

解决方案 »

  1.   


    create proc [dbo].[get_exec_time]( @sql nvarchar(4000))
    as
    begin 
    declare @begintime datetime
    set @begintime= getdate(); --begin exec
    exec(@sql)

    --end exec declare @t int
    select @t=
    datediff(ms,@begintime,getdate()) select 
    cast(@t/3600000 as nvarchar(200))  +' 时'+
    cast(@t/60000%60 as nvarchar(200))+' 分'+
    cast(@t/1000%60 as nvarchar(200)) +' 秒'+
    cast(@t%1000 as nvarchar(200)) + ' 毫秒' '运行时间'
    end自己写一个,然后得到这个值,想怎么处理就怎么处理。
      

  2.   

      declare @begintime datetime
        set @begintime= getdate();     exec(@sql)
            
      
        declare @t int
        select @t=
        datediff(ms,@begintime,getdate())    select 
        cast(@t/3600000 as nvarchar(200))  +' 时'+
        cast(@t/60000%60 as nvarchar(200))+' 分'+
        cast(@t/1000%60 as nvarchar(200)) +' 秒'+
        cast(@t%1000 as nvarchar(200)) + ' 毫秒' '运行时间'
    --嘿嘿