考慮這個片斷:爲什麼我會爲相同的數據類型獲取CONVERT_IMPLICIT?
CREATE TABLE #Temp (Name varchar(100))
GO
DECLARE @Name varchar(100)
SELECT @Name = '123'
SELECT * FROM #Temp WHERE Name = @Name
當檢查它的執行計劃,我得到了@Name
變量CONVERT_IMPLICIT
電話:
[tempdb].[dbo].[#Temp].[Name]=CONVERT_IMPLICIT(varchar(100),[@Name],0)
爲什麼發生這種情況,因爲我有相同的數據類型?
你不是從.NET調用這個或者會傳入Unicode字符串的東西(因此導致nvarchar-> varchar轉換)? – 2011-12-27 15:20:41
不,我正在Management Studio上直接運行。但我認爲@MartinSmith得到了一個點 – 2011-12-27 15:23:27
如果你先添加'USE tempdb'會怎麼樣?並檢查服務器與數據庫整理也。這將備份@Martin Smith的示例 – gbn 2011-12-27 15:42:26