oracle 数据库匹配中文
高洛峰
高洛峰 2016-11-10 15:49:58
0
2
968

请教一下,Oracle 数据库utf -8,有个表的字段,有中文英文数字符号,如何把中文删除。数据如图。

bVFkzX.png

我用如下代码测试无效。测试了具体文字可以替换,但是字符集不行。朋友在mysql下用这个字符集测试成功。网上没查到其他办法,有没有人知道什么问题?

update 表名 
set 字段= regexp_replace(字段, '[\\u4e00-\\u9fa5]','')


高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

reply all(2)
学霸
update 表名 
set 字段= regexp_replace(字段, '[' || unistr('\0391') || '-' || unistr('\9fa5') || ']','')

就可以了,oracle不支持\u或\x

三叔

之前不知道有unistr这个这个函数,所以regexp_replace(str, '[!a-zA-Z0-9再加上要保留的字符]')这样来处理。不过不够完善。

Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template