十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
可以通过replace函数来获取特定字符串后,进行字段更新实现:
成都创新互联专注于网站建设|网站建设维护|优化|托管以及网络推广,积累了大量的网站设计与制作经验,为许多企业提供了网站定制设计服务,案例作品覆盖混凝土泵车等行业。能根据企业所处的行业与销售的产品,结合品牌形象的塑造,量身定制品质网站。
sql:update tablename set name=replace(name,'替换前字段','替换后字段') where name like '%替换前字段%'。
上面的sql语句的意思是替换tablename中name字段的“替换前字段“为”替换后字段“, where后面的语句是筛选出字段中带有”替换前字段“的name值。
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;
测试通过。
上面的回答都是对的,还是多说一句,如果你只是想改最后一个字符(xx这两个字符中也含有“变”不需要改):
udpate
test
set
name
=
substr(name
,1,length(name
)
-
1)
||
'站';
commit;
若确认xx两个字符不含“变”,或者含的话也要改掉,那么:
update
test
set
name
=
replace(name,'变','站');commit;
可以通过replace函数来获取特定字符串后,进行字段更新实现:
sql:update
tablename
set
name=replace(name,'替换前字段','替换后字段')
where
name
like
'%替换前字段%'。
上面的sql语句的意思是替换tablename中name字段的“替换前字段“为”替换后字段“,
where后面的语句是筛选出字段中带有”替换前字段“的name值。