注:忽視的邏輯內部GO
........... GO
,只關注Line 1
和Line N
爲什麼執行時間與以下SQL Server代碼不同?
SELECT DATENAME(NANOSECOND, GETDATE()) --Line 1
GO
BEGIN
DECLARE @t1 NVARCHAR(100)
DECLARE @datetime1 DATETIME = '12-23-35';
DECLARE @time1 TIME(4) = '11:10:05.1234';
DECLARE @time2 TIME(5) = '11:10:05.12345';
DECLARE @datetime2 DATETIME;
SET @datetime2 = @datetime1
SET @datetime2 = @time1
DECLARE @datetime3 DATETIME = @time2
DECLARE @datetime4 SMALLDATETIME = @time1
IF @datetime1 = @datetime2
PRINT 'True'
ELSE
PRINT 'False'
IF @datetime2 = @datetime3
PRINT 'True'
ELSE
PRINT 'False'
IF @datetime3 = @datetime4
PRINT 'True'
ELSE
PRINT 'False'
SELECT @datetime1 AS 'datetime1'
,@datetime2 AS 'datetimevar2'
,@datetime3 AS 'datetimevar3'
,@datetime4 AS 'datetimevar4'
END
GO
SELECT DATENAME(NANOSECOND, GETDATE()) --Line N
問題: 對於上面的代碼中,在每一個新的執行 Line N
結果 - Line1
結果不一樣。 這是爲什麼呢?
您希望每次執行相同的代碼時都需要完全相同的時間嗎? – Rubik 2015-03-02 08:59:30