语句是正确的。可能总长度超过30吧,改成varchar(40)试试。

解决方案 »

  1.   

    你试试下面语句:
    declare @table1 table (aa varchar(30))
    insert @table1 select 'a'
    insert @table1 select 'b'
    update @table1 set aa='kkk'+aa+'kkk'
    select * from @table1aa                             
    ------------------------------ 
    kkkakkk
    kkkbkkk
      

  2.   

    update table1 set aa='kkk'+RTrim(aa)+'kkk'
      

  3.   

    问一个逆向问题:
    如果发现'kkk'加错了,如何将它删掉呢?
      

  4.   

    搞定了 
    update table1 set aa=substring(aa,4,len(aa)-3)
      

  5.   

    update @table1 set aa=substring(aa,4,1)
    这样前后的“kkk”都去掉了--three insert methods ( insert data )
    insert into @table1(aa) values('a')
    insert @table1 values('b')
    insert @table1 select 'c'
      

  6.   

    还是有点搞不懂,update table1 set aa='kkk'+aa+'kkk' 怎么会报错呢?
    难道非要换成@table1???
      

  7.   

    aa 它后边可能还有空值拉   就想C++里字符串\0一样
    就用这个不是很好吗update table1 set aa='kkk'+RTrim(aa)+'kkk'
      

  8.   

    同意sincere1314(zc) 
    的看法