请问MSSQL中有模糊替换的函数吗?
比如有一个字符串='AABB<CC>DCCCEE<C><CCCCCC>'
我希望能把<C%>的部分全部替换成''
上例的替换结果为:'AABBDCCCEE'请问有这样的函数吗?如果没有,请问我该如何实现?

解决方案 »

  1.   


    if OBJECT_ID('fn_test') is not null
    drop function fn_test
    go
    create function fn_test(@s varchar(100))
    returns varchar(100)
    as
    begin
    while patindex('%<%>%',@s)>0
    select @s=stuff(@s,patindex('%<%>%',@s),charindex('>',@s)-charindex('<',@s)+1,'')
    return @s
    end
    go
    declare @s varchar(100)
    set @s='AABB<CC>DCCCEE<C><CCCCCC>'
    select dbo.fn_test(@s)
    /*
    ----------------------------------------------------------------------------------------------------
    AABBDCCCEE(1 行受影响)
    */
      

  2.   

    非常感谢,刚刚突然想明白,原来在语句中也可以用 '<0000>' like '<%0%>'  这样的判断,而不必在where中使用,,,惭愧,悟性太低了