
正文
oracle中怎么替换-,oracle替换语句
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
在oracle存储过程中,如何替换字符
上面的回答都是对的,还是多说一句,如果你只是想改最后一个字符(xx这两个字符中也含有“变”不需要改):
udpate
test
set
name
=
substr(name
,1,length(name
)
-
1)
||
'站';
commit;
若确认xx两个字符不含“变”,或者含的话也要改掉,那么:
update
test
set
name
=
replace(name,'变','站');commit;
相关问答
Q1: 怎么替换oracle数据库中所有的某个特定字符串
可以通过replace函数来获取特定字符串后,进行字段更新实现:
sql:update tablename set name=replace(name,'替换前字段','替换后字段') where name like '%替换前字段%'。
上面的sql语句的意思是替换tablename中name字段的“替换前字段“为”替换后字段“, where后面的语句是筛选出字段中带有”替换前字段“的name值。
Q2: Oracle 数据替换 怎么实现
看你的意思应该是一个表的数据替换另一个表的相关数据吧,那就用merge语句就可以。
update也可以。
所谓替换应该就是修改,如果相关内容太多,那就分次分批进行修改就好了。
Q3: oracle中如何替换第偶数个逗号?
create or replace procedure string_modify(v_str in varchar2) as
v_num number;
temp_str varchar2(200);
v_num2 number;
temp_str2 varchar2(200);
v_begin number;
v_end number;
v_diff number;
v_b_str varchar2(20);
v_e_str varchar2(20);
v_f_str varchar2(20);
begin
v_num:=instr(v_str,'}',1,1);
temp_str2:=v_str;
while v_num 0 loop
v_num2:=v_num + 1;
TEMP_STR:=substr(temp_str2,1,v_num);
/* 处理字符的位置
*/
v_begin:=instr(temp_str,'"',1,3);
v_end:=instr(temp_str,'"',1,4);
v_diff:=v_end - v_begin - 1;
v_begin:=v_begin + 1;
v_b_str:=substr(temp_str,v_begin,v_diff);
v_begin:=instr(temp_str,'"',1,7);
v_end:=instr(temp_str,'"',1,8);
v_diff:=v_end - v_begin - 1;
v_begin:=v_begin + 1;
v_e_str:=substr(temp_str,v_begin,v_diff);
v_f_str:=CONCAT(v_b_str,':');
v_f_str:=concat(v_f_str,v_e_str);
dbms_output.put_line(v_f_str);
temp_str2:=substr(temp_str2,v_num2);
v_num:=instr(temp_str2,'}',1,1);
end loop;
end;
/
exec string_modify('[{"k":"key1","v":"value1"},{"k":"key2","v":"value2"}]');






