蛋疼的IT 2016-01-06 10:23 采纳率: 100%
浏览 1853
已采纳

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;
最好有一个规范的。多谢了。

  • 写回答

2条回答 默认 最新

  • HyperMa0 2016-01-07 01:34
    关注

    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

    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 jupyterthemes 设置完毕后没有效果
  • ¥15 matlab图像高斯低通滤波
  • ¥15 针对曲面部件的制孔路径规划,大家有什么思路吗
  • ¥15 钢筋实图交点识别,机器视觉代码
  • ¥15 如何在Linux系统中,但是在window系统上idea里面可以正常运行?(相关搜索:jar包)
  • ¥50 400g qsfp 光模块iphy方案
  • ¥15 两块ADC0804用proteus仿真时,出现异常
  • ¥15 关于风控系统,如何去选择
  • ¥15 这款软件是什么?需要能满足我的需求
  • ¥15 SpringSecurityOauth2登陆前后request不一致