程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> sql server-sqlserver存儲過程 分割字符串再組裝

sql server-sqlserver存儲過程 分割字符串再組裝

編輯:編程綜合問答
sqlserver存儲過程 分割字符串再組裝

有三個字符串。比如。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


a2623567z
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved