oracle如何替换值 oracle replace替换

oracle中如何在一个字段大于多少位时替换数据

替换的要点:

成都创新互联坚持“要么做到,要么别承诺”的工作理念,服务领域包括:成都网站建设、成都网站设计、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的泰山网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!

1.只有开头为“QJQ”的字段才替换为“Q/JQ”;

2.如果字段中(非开头)重复出现QJQ,重复出现的QJQ不发生替换行为;

3.SUBSTR截取字符串用法

‘abcde’---要截取的字符串

-3 ---从右向左第3个字符向后开始截取

3 --- 取三个字符

oracle数据库字段内容如何批量替换?

直接用update语句替换即可。

如test表中有如下数据:

现要将sal中的数字都替换成10,用以下语句:

update test set sal=10;

commit;

更新后结果:

注意:执行update语句后,需要进行commit,也就是提交,这样才会使update生效。

oracle中,如何批量替换某字段的部分值,该字段其他部分保持不变?

1、创建测试表;

create table test_str_replace(id varchar2(20),value varchar2(20));

2、插入测试数据;

insert into test_str_replace values('1','abcbcade');

insert into test_str_replace values('2','aaabcbca');

insert into test_str_replace values('3','aabcaabcab');

commit;

3、查询表中全量数据;select t.*, rowid from test_str_replace t;

4、编写语句,将value字段中'abc'替换成'123',其他保持不变;

select t.*, regexp_replace(value,'abc','123') cnt from test_str_replace t ;

oracle字段值批量替换

1)instr()函数的格式  (俗称:字符查找函数)

格式一:instr( string1, string2 )    /   instr(源字符串, 目标字符串)

格式二:instr( string1, string2 [, start_position [, nth_appearance ] ] )   /   instr(源字符串, 目标字符串, 起始位置, 匹配序号)

解析:string2 的值要在string1中查找,是从start_position给出的数值(即:位置,-1表示从尾部开始倒数第1个)开始在string1检索,检索第nth_appearance(几)次出现string2。

SELECT A2.id,A1.name 

from A2 left join

A1 on A2.codeall=A1.code

where LENGTHB(codeall)-LENGTHB(replace(codeall,',','')) = 0

union all

SELECT A2.id,A11.name||','||A12.name 

from A2 left join

A1 A11 on substr(A2.codeall,1,instr(A2.codeall,',')-1)=A11.code left join

A1 A12 on substr(A2.codeall,instr(A2.codeall,',')+1,instr(A2.codeall,',',-1,1)-1)=A12.code

where LENGTHB(codeall)-LENGTHB(replace(codeall,',','')) = 1

union all

SELECT A2.id,A11.name||','||A12.name ||','||A13.name 

from A2 left join

A1 A11 on substr(A2.codeall,1,instr(A2.codeall,',')-1)=A11.code left join

A1 A12 on substr(A2.codeall,instr(A2.codeall,',')+1,instr(A2.codeall,',',1,2)-1)=A12.code

A1 A13 on substr(A2.codeall,instr(A2.codeall,',',1,2)+1,instr(A2.codeall,',',-1,1)-1)=A13.code

where LENGTHB(codeall)-LENGTHB(replace(codeall,',','')) = 2

union all

SELECT A2.id,A11.name||','||A12.name ||','||A13.name ||','||A14.name 

from A2 left join

A1 A11 on substr(A2.codeall,1,instr(A2.codeall,',')-1)=A11.code left join

A1 A12 on substr(A2.codeall,instr(A2.codeall,',')+1,instr(A2.codeall,',',1,2)-1)=A12.code

A1 A13 on substr(A2.codeall,instr(A2.codeall,',',1,2)+1,instr(A2.codeall,',',1,3)-1)=A13.code

A1 A14 on substr(A2.codeall,instr(A2.codeall,',',1,3)+1,instr(A2.codeall,',',-1,1)-1)=A14.code

where LENGTHB(codeall)-LENGTHB(replace(codeall,',','')) = 3


分享题目:oracle如何替换值 oracle replace替换
标题路径:http://hbruida.cn/article/hiiedp.html