2017-05-10 105 views
0

出於某種原因,我在嘗試將其中一個輸入參數放入臨時表時遇到錯誤String or binary data would be truncated。有誰知道爲什麼?Linqpad錯誤:字符串或二進制數據將被截斷

--Psuedo-Trans Table-- 

DECLARE @item nvarchar(50)  = '511010200' 

--Drop temp table 
IF object_id('TempDB..#parameters') IS NOT NULL 

    DROP Table #parameters 

CREATE TABLE #parameters(

    item varchar 

) 

insert into #parameters 
(item) 
values (@item) 

select * from #parameters 

回答

0

當宣佈varchar(n),如果在數據定義或變量聲明語句中指定的長度n,則默認長度爲1

所以你最好改變item varcharitem varchar(50)

但請注意您的@itemnvarchar,將是varchar的兩倍長,這意味着你需要聲明varchar(18)至少存儲您的示例數據。如果數據比你的例子更大,你最好聲明最大爲@item的兩倍。或者最簡單的方法是item nvarchar(50)

+0

'create table'部分 – LONG

相關問題