oracle怎么将表中字段的很长的字符串数据更改其中一两个字符

大神哪位知道,oracle怎么将表中字段的很长的字符串数据更改其中一两个字符
最新回答
小傻子

2024-10-30 08:35:38

只有该一两个字符只出现一次还是出现多次?确定全部修改的话
比如将该字段中含有“我”字符中的“我’,修改为“你”
update 表名 t set t.所在的字段 = replace(t.所在的字段,'我','你') where t.所在的字段 like'%我%';
commit;
追问
比如流水id号 00000000351a 839277d12894a
我想要把前面的3位改了
update table t set substr(t.id,0,3)='111'
但是出错啊
提示缺失等号
追答
update table t set t.id= replace(t.id,substr(t.id,0,3),'111');
commit;
匆匆过客

2024-10-30 10:34:02

具体问题具体分析,用replace(简单)和regexp_replace(正则表达式,复杂点)函数可以实现
追问
replace需要知道明确的值才能更改吧
我现在要更改流水号
很多个不一样的值
每个值都很长
怎么破?
追答
上面那个应该如下:
update table t set id='111'||substr(t.id,3)
追问
你的方法也是对的
可惜最佳答案只能有一个
不然也给你了
痛徹心扉

2024-10-30 12:39:51

根据相应的where条件,使用update