刚刚开始学习数据库:
SET @NEWtype='IP,K7,UR,20,AC,BT,BU,CE,CL,E1,EN,FB,FC,FG,FL,FT,GK,GR,HA,KI,NS,NT,PG,PI,PK,PL,PS,RB,RD,RE,RG,RH,RK,SE,SG,SI,SP,SS,TY,VC,VP,WG,WH,WI,WK,WM,WO,WR,WS,WW,EC,EK'
需要给每一个字符加上一个单引号,如下:
IF @NEWtype<>''
begin
set  @NEWtype=N'''' +replace( N'IP,K7,UR,20,AC,BT,BU,CE,CL,E1,EN,FB,FC,FG,FL,FT,GK,GR,HA,KI,NS,NT,PG,PI,PK,PL,PS,RB,RD,RE,RG,RH,RK,SE,SG,SI,SP,SS,TY,VC,VP,WG,WH,WI,WK,WM,WO,WR,WS,WW,EC,EK' ,',',''',''')+ ''''可是结果最后会多出一个逗号,求各位大神解救

解决方案 »

  1.   

    没发现你说的多出一个逗号啊DECLARE @NEWtype NVARCHAR(MAX)
    SET @NEWtype='IP,K7,UR,20,AC,BT,BU,CE,CL,E1,EN,FB,FC,FG,FL,FT,GK,GR,HA,KI,NS,NT,PG,PI,PK,PL,PS,RB,RD,RE,RG,RH,RK,SE,SG,SI,SP,SS,TY,VC,VP,WG,WH,WI,WK,WM,WO,WR,WS,WW,EC,EK'
    IF @NEWtype<>''
    begin
       PRINT N'''' +replace( @NEWtype ,',',''',''')+ ''''
    END
    /*
    'IP','K7','UR','20','AC','BT','BU','CE','CL','E1','EN','FB','FC','FG','FL','FT','GK','GR','HA','KI','NS','NT','PG','PI','PK','PL','PS','RB','RD','RE','RG','RH','RK','SE','SG','SI','SP','SS','TY','VC','VP','WG','WH','WI','WK','WM','WO','WR','WS','WW','EC','EK'*/
      

  2.   

    按你贴出来的语句不会有多逗号,看看是不是变量的长度不够,你把@NEWtype varchchar(max) 最大值 再试
    或贴出你的执行结果集