SELECT REPLACE('dsdlsajlsa=a.lIdfcdsa','=a.lId','=b.lId')我想把字符串中的'=a.lId'替换成'=b.lId',可是为什么上面的可以,下面的不行啊declare @a varchar
declare @b varchar
declare @c varchar
declare @d varchar
set @a='dsdlsajlsa=a.lIdfcdsa'
set @b='=a.lId'
set @c='=b.lId'
set @d=REPLACE(@a,@b,@c)
select @d

解决方案 »

  1.   

    少了长度.declare @a varchar(100)
    declare @b varchar(10)
    declare @c varchar(10)
    declare @d varchar(100)
    set @a='dsdlsajlsa=a.lIdfcdsa'
    set @b='=a.lId'
    set @c='=b.lId'
    set @d=REPLACE(@a,@b,@c)
    select @d as show
    show 
    ----
    dsdlsajlsa=b.lIdfcdsa(所影响的行数为 1 行)
      

  2.   

    declare @a varchar(50)
    declare @b varchar(50)
    declare @c varchar(50)
    declare @d varchar(50)
    set @a='dsdlsajlsa=a.lIdfcdsa'
    set @b='=a.lId'
    set @c='=b.lId'
    set @d=REPLACE(@a,@b,@c)
    select @d
    可以啊。我是SQL SERVER 2000的查询分析器中测试通过!