oracle有没有方法把数据库表中的字段的所有数据中的某个字母或数字修改或替换

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle有没有方法把数据库表中的字段的所有数据中的某个字母或数字修改或替换相关的知识,希望对你有一定的参考价值。

比如 一个图片的地址

我想把这个字段下所有_b.png的数据 全部替换成_l.png 有没有方法可以实现

oracle中可以通过全文检索替换来实现单个字符的替换。
设置全文检索
步骤步骤一:检查和设置数据库角色
首先检查数据库中是否有CTXSYS用户和CTXAPP脚色。如果没有这个用户和角色,意味着你的数据库创建时未安装intermedia功能 (10G默认安装都有此用户和角色)。你必须修改数据库以安装这项功能。默认安装情况下,ctxsys用户是被锁定的,因此要先启用ctxsys的用户。
步骤二:赋权
在ctxsys用户下,授予测试用户oratext以下权限:
GRANT resource, CONNECT, ctxapp TO oratext;
GRANT EXECUTE ON ctxsys.ctx_cls TO oratext;
GRANT EXECUTE ON ctxsys.ctx_ddl TO oratext;
GRANT EXECUTE ON ctxsys.ctx_doc TO oratext;
GRANT EXECUTE ON ctxsys.ctx_output TO oratext;
GRANT EXECUTE ON ctxsys.ctx_query TO oratext;
GRANT EXECUTE ON ctxsys.ctx_report TO oratext;
GRANT EXECUTE ON ctxsys.ctx_thes TO oratext;
GRANT EXECUTE ON ctxsys.ctx_ulexer TO oratext;
步骤三:设置词法分析器(lexer)
--查询测试
SELECT score(20),t.* FROM textdemo t WHERE contains(book_abstract,\'移动城堡 or 俄罗斯\',20)>0;
SELECT score(20),t.* FROM textdemo t WHERE contains(book_abstract,\'移动城堡 or 欧洲\',20)>0;
--基本查询
SELECT score(20),t.* FROM textdemo t WHERE contains(book_abstract,\'移动城堡\',20)>0;
--查询包含多个词语and测试通过
SELECT score(20),t.* FROM textdemo t WHERE contains(book_abstract,\'移动城堡 and 欧洲\',20)>0;

测试通过。
参考技术A update 表 set big=replace(big,'_b.png','_l.png')
where 条件
这样?本回答被提问者采纳
参考技术B update 表名 set bigiconurl=replace(bigiconurl,'_b.png','_l.png') 参考技术C 有,但是我不会

以上是关于oracle有没有方法把数据库表中的字段的所有数据中的某个字母或数字修改或替换的主要内容,如果未能解决你的问题,请参考以下文章

oracle 数据库 怎么把一个表中的一个字段按规律拆分,并显示出来

oracle 中怎么把一个表中的数据完全复制到另外一个表

如何在oracle数据库中的表里批量插入记录

用oracle如何查询出一个表中的一个字段内容包含另一个表中的某个字段的值呢

在oracle数据库表中没有添加rowid字段为啥会出现

如何把excel中的数据导入到oracle数据已有的表中,excel中的数据和表中的数据字段都是对应的