suchen

Heim  >  Fragen und Antworten  >  Hauptteil

oracle 数据库匹配中文

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

bVFkzX.png

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

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


高洛峰高洛峰2941 Tage vor955

Antworte allen(2)Ich werde antworten

  • 欧阳克

    欧阳克2016-11-10 15:50:54

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

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

    Antwort
    0
  • 三叔

    三叔2016-11-10 15:50:22

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

    Antwort
    0
  • StornierenAntwort