在數據庫中需要辦int轉換為字符串,然后和另外一個字符串拼接成新的字符串。
做法是@temStr=@temStr+@num.結構報出nvarchar轉換為int類型異常。
原因是把字符串類型轉換為int類進行算術運算,於是使用Str函數把int 轉換為nvarchar類型。
Str函數語法:
STR ( float_expression [ , length [ , decimal ] ] )
參數說明:
(1)float_expression 可以隱式轉換為 float 的表達式
(2)length 總長度,包括小數點、符號、數字和空格。默認值為 10。length 參數必須是一種可以隱式轉換為 int 的數據類型。
(3)decimal 小數點右側的數字位數。decimal 參數必須是一種可以隱式轉換為 int 的數據類型。默認值為 0。
返回值說明:nvarchar類型。
declare @num bigint declare @tmpStr nvarchar(max) set @num=22721 set @tmpStr='582598' while @num<22723 begin declare @@tmp2 nvarchar(5) set @@tmp2=(select str(@num,5,0)) print(@@tmp2) set @num=@num+1 set @tmpStr=@tmpStr+','+@@tmp2 print(@tmpStr) end
用於接收返回結果的字符串必須長度和數據長度一樣,否者接收不全(在此處走了將近半小時彎路)。
運行結果如下: