Heim > Fragen und Antworten > Hauptteil
请教一下,Oracle 数据库utf -8,有个表的字段,有中文英文数字符号,如何把中文删除。数据如图。
我用如下代码测试无效。测试了具体文字可以替换,但是字符集不行。朋友在mysql下用这个字符集测试成功。网上没查到其他办法,有没有人知道什么问题?
update 表名 set 字段= regexp_replace(字段, '[\\u4e00-\\u9fa5]','')
欧阳克2016-11-10 15:50:54
update 表名 set 字段= regexp_replace(字段, '[' || unistr('\0391') || '-' || unistr('\9fa5') || ']','')
就可以了,oracle不支持\u或\x
三叔2016-11-10 15:50:22
之前不知道有unistr这个这个函数,所以regexp_replace(str, '[!a-zA-Z0-9再加上要保留的字符]')这样来处理。不过不够完善。