検索

ホームページ  >  に質問  >  本文

oracle 数据库匹配中文

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

bVFkzX.png

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

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


高洛峰高洛峰2925日前936

全員に返信(2)返信します

  • 欧阳克

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

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

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

    返事
    0
  • 三叔

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

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

    返事
    0
  • キャンセル返事