declare @src_sql  varchar(10)
set @src_sql = 'cccyyyy%_mm%aaa'
set @src_sql =  replace(replace(@src_sql,'mm%','07'),'yyyy%','2007')
print @src_sql结果是
ccc2007_m

解决方案 »

  1.   

    因为 declare @src_sql  varchar(10)赋值时到第一个m后,后面的字串被略去了
      

  2.   

    declare @src_sql  varchar(20)
    set @src_sql = 'cccyyyy%_mm%aaa'
    set @src_sql =  replace(replace(@src_sql,'mm%','07'),'yyyy%','2007')
    print @src_sql
    --------
    ccc2007_07aaa
      

  3.   


    同意楼上.declare @src_sql  varchar(20)
    set @src_sql = 'cccyyyy%_mm%aaa'
    set @src_sql =  replace(replace(@src_sql,'mm%','07'),'yyyy%','2007')
    print @src_sql
    --------
    ccc2007_07aaa
      

  4.   

    chenyuming2004 (这辈子我算是废了)    虽然分并不重要,但是从你给分可以看出你已经废了,呵,开个玩笑.