当前位置: 代码迷 >> Oracle开发 >> 江湖救急oracle text大字段怎么右边补齐标签
  详细解决方案

江湖救急oracle text大字段怎么右边补齐标签

热度:117   发布时间:2016-04-24 06:29:31.0
江湖救急,oracle text大字段如何右边补齐标签?
res1 表的大字段res_text,大字段里面是一段xml文件,都是以“</content></templet>”结尾的,现在我需要根据一定的判断条件,更新这个大字段,加入一个标签,使得以“<isSH>1</isSH></content></templet>”这样结尾。


用了lpad,结果没有成功。
------解决思路----------------------
lob字段一般要用dbms_lob操作
使用普通的系统函数,会将其先转成varchar2类型,此时超过4000个字节的时候就会报错
如果不会超过长度
select rsc.res_text,
replace(rsc.res_text,'</content></templet>','<isSH>1</isSH></content></templet>') 
from res1 rsc  
就可以了
------解决思路----------------------
dbms_lob是一个包,里面有一些用于操作lob对象的函数和存储过程
具体用法可以搜索一下
------解决思路----------------------
使用 dbms_lob 替换 , 单独的 replace 不能操作大字段
------解决思路----------------------
LZ 你在 dbms_lob 包中找一下 
FRAGMENT_REPLACE

INSTR 
两个函数配合着使用,能完成你的要求,可能会有些麻烦。
  相关解决方案