我有一个表medica,包含med_id 字段,类型为varchar(14)
我想将med_id 字段的前10位替换成aaaa.
比如以前med_id='bbbbbbbbbb0001' 现在我想替换成med_id='aaaaaaaaaa0001'
我用如下语句报错,不太会用,请大虾指教下
update medica
set substring(med_id ,1,10)='aaaaaaaaaa'

解决方案 »

  1.   

    update medica set med_id=REPLACE(med_id,'bbbbbbbbbb','aaaaaaaaaa')
      

  2.   

    with Query do
    begin
      close;
      sql.clear;
      sql.add('update medica set med_id=REPLACE(med_id,'+Quotedstr('bbbbbbbbbb')+','+Quotedstr('aaaaaaaaaa')+')');
      execsql;end;
      

  3.   

    前10位替换成'aaaaaaaaaa'
    str:='aaaaaaaaaa'+copy(str,10,length(str)-10)'bbbbbbbbbb0001'替换成'aaaaaaaaaa0001'
    str:=ansireplacestr(str,'bbbbbbbbbb','aaaaaaaaaa')