例如:table A
            column1  column2
            123       12
            1234      
如何得到结果
            column
            3
            1234

解决方案 »

  1.   


    declare @str1 varchar(50)
    declare @str2 varchar(50)
    set @str1='123'
    set @str2='12'
    select replace(@str1,@str2,'')
    set @str1='1234'
    set @str2=''
    select replace(@str1,@str2,'')----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    3(1 行受影响)
    ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    1234(1 行受影响)
      

  2.   

    select replace(column1, isnull(column2,''), '') from A
      

  3.   

    declare @t table(column1 varchar(10),  column2 varchar(10))
    insert @t select 123,      12 
    insert @t select 1234 ,''select replace(column1, case column2 when '' then '' else column2 end, '') [column] from @t
    /*
    column
    -------
    3
    1234(2 行受影响)
    */select replace(column1, isnull(column2,''), '') [column] from @t
    /*
    column
    -------
    3
    1234(2 行受影响)
    */