有三個字符串。比如。A=“440,441,442,443”,B="a,b,c,d" ,C=“1,2,3,4”.三個字符串裡面的值是一一對應的。
在存儲過程裡面如何把這三個字符串分割之後然後組裝成 440,a,1;441,b,2;442,c,3;443,d,4;
最好有一個規范的。多謝了。
CREAT PROCEDURE [dbo].[Pro_STR]
@A nvarchar(200)='440,441,442,443',
@B nvarchar(200)='a,b,c,d',
@C nvarchar(200)='1,2,3,4'
AS
BEGIN
DECLARE @result nvarchar(4000)
DECLARE @strSQL nvarchar(4000)
set @result=''
set @A=@A+','
set @B=@B+','
set @C=@C+','
WHILE CHARINDEX(',',@A)>0
BEGIN
set @result=@result+LEFT(@A,CHARINDEX(',',@A)-1)+','+LEFT(@B,CHARINDEX(',',@B)-1)+','+LEFT(@C,CHARINDEX(',',@C)-1)+';'
SET @A=STUFF(@A,1,CHARINDEX(',',@A),'')
SET @B=STUFF(@B,1,CHARINDEX(',',@B),'')
SET @C=STUFF(@C,1,CHARINDEX(',',@C),'')
END
set @strSQL='select '''+ @result +''''
exec(@strSQL)
END