21

クエリの実行時間を取得する必要があります。私は使っている

declare @starttime datetime
declare @endtime datetime
set @starttime =getdate()   

 -- execute my query here

set @endtime = GETDATE()
select @endtime-@starttime

しかし、出力は次のようになります1900-01-01 00:02:10.707

時間の部分だけが必要です。

4

8 に答える 8

12

STATISTICS TIME オプションを設定します。

SET STATISTICS TIME { ON | OFF }

例:

USE AdventureWorks2012;
GO 

SET STATISTICS TIME ON;    
GO

SELECT ProductID, StartDate, EndDate, StandardCost 
FROM Production.ProductCostHistory
WHERE StandardCost < 500.00;    
GO

SET STATISTICS TIME OFF;    
GO
于 2014-04-15T07:32:38.317 に答える
3

SQL Server 2008 以降で使用可能な time データ型を使用します

これでタグは正しくなり、これは SQL Server 2005 です...

select CONVERT(varchar(12), @endtime-@starttime, 114)
于 2013-05-09T10:09:45.167 に答える
3
DECLARE @StartTime 日時、@EndTime 日時   
SELECT @StartTime=GETDATE()

--実行するクエリをここに入力します--

SELECT @EndTime=GETDATE()   
SELECT DATEDIFF(ms,@StartTime,@EndTime) AS [ミリ秒単位の期間]  
于 2013-09-25T10:23:43.233 に答える
3

diff の後に、この別の変換を試してください。

SELECT CONVERT(VARCHAR(12),@endtime-@starttime, 108)  -- 00:02:10
SELECT CONVERT(VARCHAR(12),@endtime-@starttime, 114)  -- 00:02:10.707

108 と 114 は、日付変換の形式タイプを表します。http://msdn.microsoft.com/it-it/library/ms187928.aspxを参照してください。

于 2013-05-09T10:14:24.960 に答える