insert # select '''+replace(@string,';','''as str union all select ''')+''' 
我知道这是替换    ;替换 后面那句解释一下这句话到底有什么作用,并说说引号,看起来都乱了
不是很明白

解决方案 »

  1.   

    set @string='1,1;2,2'   
      

  2.   

    楼主的语句应该是有问题的楼主要实现的结果应该
    a,b,c
    转换成
    select 'a' as [str] union all select 'b' union all select 'c'就是把,号替换成union all用动态SQL来执行 
      

  3.   


    declare  @string varchar(100)
    set @string='1,1;2,2' select ''''+replace(@string,';',' as str  union all    select ')+'''' 
      

  4.   


    //  你的意思,不是把 ;替换成  as str union all select 
    '1,1 as str  
    union all    select 2,2'但是上面的数据不对!
      

  5.   


    set @string='1,1;2,2' 
    set @string='insert # select '''+replace(@string,';','''as str union all select ''')+''''   
      

  6.   


    insert # select '''+replace(@string,';','''as str union all select ''')+''' =============
    --我知道这是替换    ;替换 后面那句
    =============
    --作用:就是可以变成   
       select  '1,1' as str  
      union all    
      select '2,2'
      
      在通过  insert into #  一起插入 临时表