问题描述
这里是 Oracle 新手。
对于打印到报告上的 XML 数据,我收到此错误“字符引用“”是无效的 XML 字符”。 导致问题的 XML 数据来自数据库中的 VARCHAR2 数据列。 我已经过滤掉了该列,现在我想查看记录以找到此无效字符在哪条记录中,并编写一条更新语句,用有效字符替换无效字符。 我不知道该怎么做。 有没有我可以用 SELECT 语句编写的正则表达式? 有人可以帮我吗?
谢谢!
解决方法
要确定哪些条目具有要消除的字符,您可以在该列中搜索该字符
select colname
from tabname
where instr(colname,chr(56256)) > 0;
您可以用更新语句替换:
update tablname
set colname = replace(colname,chr(56256),'replacementstring')
where instr(colname,chr(56256)) > 0;