我们的应用程序从各种来源接收数据。其中一些包含HTML字符组成而不是常规字符。所以我们收到的不是字符串"
如何使用SQL/PLSQL将"â"转换为数据库字符集中的字符?
Unescape_reference和excape_reference我相信是你们要找的
UTL_I18N。UNESCAPE_REFERENCE('你好& lt;& # xe5;")这将返回'hello <'||chr(229)。
http://docs.oracle.com/cd/B28359_01/appdev.111/b28419/u_i18n.htm i998992
您可以使用CHR()函数将ascii字符号转换为字符表示。
SELECT chr(226)
FROM dual;
CHR(226) -------- â
更多信息请参见:http://www.techonthenet.com/oracle/functions/chr.php
一个解
replace(your_test, 'â', chr(226))
但是您必须嵌套许多替换函数,每个需要替换的实体对应一个替换函数。如果你需要替换很多的话,这可能会很慢。
您可以编写自己的函数,搜索&号并在找到时替换它。
您是否搜索了Oracle提供的软件包手册?我知道他们有一个函数对一些实体做相反的事情。
要将oracle中包含HTML项的列转换为纯文本,可以使用:
trim(regexp_replace(UTL_I18N.unescape_reference(column_name), '<[^>]+>'))
它将取代上面所述的HTML字符,但也将删除HTML标签,如果删除前导和尾随空格。
我希望它能帮助到别人。