现在我有一个表里面有个字段,内容有个特点如:XXX字XXX 或者 XX字XXXX,每个内容里都有“字”但是“字”前面和后面的长度不确定。
现在的想法是想统一在“字”后面加一样的内容,如:“XXX字1990XXX”“XX字1990XXXX”
有能实现这样想法的语句吗?
新手没有分,大家帮忙看看

解决方案 »

  1.   

    declare @t table(test nvarchar(20))
    insert @t select N'XXX字XXX'
    insert @t select N'XX字XXXX'
    update @t set test=stuff(test,charindex(N'字',test)+1,0,1990)
    select *
    from @t
    /*
    test
    --------------------
    XXX字1990XXX
    XX字1990XXXX(2 個資料列受到影響)
    */
      

  2.   

    update tb set col=replace(col,'字','字1990')
      

  3.   

    谢谢楼上的,我去看看stuff函数的用法
      

  4.   

    declare @t table(test nvarchar(20))
    insert @t select N'XXX字XXX'
    insert @t select N'XX字XXXX'
    update @t set test=replace(test,'字','字1990')
    select * from @t
    /*
    test
    --------------------
    XXX字1990XXX
    XX字1990XXXX(2 行受影响)*/
      

  5.   

    --字的個數不確定
    declare @t table(test nvarchar(20))
    insert @t select N'XXX字X字XX'
    insert @t select N'XX字X字XX字X'
    insert @t select N'XX字字X字XX字X'
    update @t
     set test=stuff(test,len(test)-charindex(N'字',reverse(test))+2,0,'1990')
    select *
    from @t
    /*
    test
    --------------------
    XXX字X字1990XX
    XX字X字XX字1990X
    XX字字X字XX字1990X(3 個資料列受到影響)
    */