从Oracle Varchar2中查找和删除非ASCII字符

我们目前正在将一个oracle数据库迁移到UTF8,我们发现一些记录接近4000字节的varchar限制。
当我们尝试迁移这些记录时,它们失败了,因为它们包含的字符变成了多字节UF8字符。
我想在PL/SQL中做的是定位这些字符以查看它们是什么,然后更改它们或删除它们

我想:

选择REGEXP\u REPLACE(列“[^[:ascii:][]”,“”)

但是Oracle没有实现[:ascii:]字符类

有没有一个简单的方法来做我想做的事

我认为这会起作用:

选择REGEXP\u REPLACE(列“[^[:print:][]”,“”)

发表评论