存储过程输入参数是   6|8,12|8,13|8 因为在存储过程中 要使用到 in(6|8,12|8,13|8 ), 所以需要将6|8,12|8,13|8 转换陈 ‘6|8’,‘12|8’,‘13|8’,请教各位高手,这样在SQLServer 中有没有什么比较简单的方法实现吗

解决方案 »

  1.   

    @s= '6|8,12|8,13|8' 
    where charindex(','+col+',',','+@s+',')>0
      

  2.   

    declare @d nvarchar(2000)
    set @d ='6|8,12|8,13|8 'select @d
    select ''''+replace(@d,',',''',''')+''''
      

  3.   

    DECLARE @STR VARCHAR(50)
    SELECT @STR='6|8,12|8,13|8  '
    SELECT ''''+REPLACE(RTRIM(LTRIM(@STR)),',',''',''')+''''
    --'6|8','12|8','13|8'
      

  4.   


    declare @ss as varchar(1000)
    set @ss='6|8,12|8,13|8'  
    set @ss= ''''+replace(@ss,',',''',''')+''''
    print @ss
      

  5.   

    DECLARE @STR VARCHAR(50)
    SELECT @STR='6|8,12|8,13|8  '
    SELECT ''''+REPLACE(RTRIM(LTRIM(@STR)),',',''',''')+''''
    --'6|8','12|8','13|8'SQLServer 中引号到底是怎么定义的  ? 很迷糊都
    上面的这个里面就是三个引号 表示一个引号最外边的是四个引号表示一个引号