oracle数据库有A、B两列,B列字段中包含A列字段,现在想把B列字段中的A字段删除掉,该怎么写语句?

操作失误所以把A列字段加到B列了,现在想还原B列!!!

update 表名 set b =replace(b,a,'') ;
意思就是把B字段包含A字段的内容换为空,但是这样有风险,就是B字段内容包含两个A字段内容,就有问题了
比如 B 18188 A字段为18,替换之后就成了8.
如果B字段结果里面a字段的内容全部在开头
update 表 SET B=SUBSTR(B,LENGTH(A),LENGTH(B)-LENGTH(A)+1).语句的话 自己调试一下,
比如用SELECT B,SUBSTR(B,LENGTH(A)+1,LENGTH(B)-LENGTH(A)+1) 想要的结果 from 表
温馨提示:答案为网友推荐,仅供参考
相似回答