oracle正则表达式,如何查找存在中文的?

我有一张表subject,其中有个字段subject_en_us_name,这个字段里面的数据有中文有英文还有数字,我想找出所有包含中文的,只要存在中文就查找出来,请问正则表达式应该怎么写?
最新回答
巷尾青苔

2024-07-27 14:06:09

很简单,中文占2个字节,那么LENGTH()和LENGTHB()的结果是不相等的。然而字母,符号,数字还可以以多字节形式存储,即全角模式,所必须把这些转换成单字节。
LENGTH(TO_SINGLE_BYTE(subject_en_us_name))<>LENGTHB(TO_SINGLE_BYTE(subject_en_us_name))就可以。
PS:不是所有符号都能转换成单节,如:℃,、,【等等!!