replace函数可以直接把某个字符串或字段中的某个特定的值全部更改为需要替换的值


如果只替换第一次或第二次出现的字符,我们可以借助instr来获取实现:

select replace(substr(col,1,instr(col,'a',1)+length('a')-1),'a','0')

||substr(col,instr(col,'a',1)+length('a'))

 from (

   select 'c,a,b,c,a,d' as col from dual);



postgresql:

select replace(substring(col,1,position('ab' in col)+length('ab')-1),'ab','####')||substring(col,position('ab' in col)+length('ab'))

 from (

select 'c,ab,b,c,a,d'::text as col) t;