1条回答
默认
最新
回答交流
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
墨值悬赏
匿名用户Oracle中怎么写一个正则表达查出某个字段包含中文的值?
字符集 字数 Unicode 编码
基本汉字 20902字 4E00-9FA5
基本汉字补充 90字 9FA6-9FFF
扩展A 6592字 3400-4DBF
扩展B 42720字 20000-2A6DF
扩展C 4153字 2A700-2B738
扩展D 222字 2B740-2B81D
扩展E 5762字 2B820-2CEA1
扩展F 7473字 2CEB0-2EBE0
扩展G 4939字 30000-3134A
康熙部首 214字 2F00-2FD5
部首扩展 115字 2E80-2EF3
兼容汉字 477字 F900-FAD9
兼容扩展 542字 2F800-2FA1D
PUA(GBK)部件 81字 E815-E86F
部件扩展 452字 E400-E5E8
PUA增补 207字 E600-E6CF
汉字笔画 36字 31C0-31E3
汉字结构 12字 2FF0-2FFB
汉语注音 43字 3105-312F
注音扩展 22字 31A0-31BA
〇 1字 3007
将unicode转化为汉字,再用正则识别,比如4E00-9FA5对应
regexp_like('汉字', '[一-龥]+')
全部拼一起就是
select 1 from dual where regexp_like('汉字',
unistr('[\4e00-\9fa5\9FA6-\9FFF\3400-\4DBF\2F00-\2FD5\2E80-\2EF3\F900-\FAD9\E815-\E86F\E400-\E5E8\E600-\E6CF\31C0-\31E3\2FF0-\2FFB\3105-\312F\31A0-\31BA\3007-\3007]'));
还有个偷懒的方法,只要不是ascii码表里的,都显示出来
select * from 表 where 字段<>asciistr(字段);
评论
有用 0
墨值悬赏