复制
收藏
提问
简洁
MySQL中查询某个字段只包含中文
1周前
全网
文档
学术
百科
知识库
回答简洁模式
深入研究一些
- 要查询MySQL中某个字段只包含中文,可以使用以下两种方法。
方法一
- 使用
length
和lengthb
函数:通过比较length
和lengthb
函数的返回值来判断字段是否只包含中文。如果返回值不相等,则表示字段包含中文。- 查询包含中文:
SELECT name FROM cs_name WHERE length(name) <> lengthb(name);
- 查询不包含中文:
SELECT name FROM cs_name WHERE length(name) = lengthb(name);
- 查询包含中文:
方法二
- 使用
asciistr
函数和正则表达式:通过asciistr
函数将字段值转换为ASCII字符串,然后使用正则表达式匹配是否包含中文字符。- 查询包含中文:
SELECT name FROM cs_name WHERE asciistr(name) REGEXP '[\\x{4e00}-\\x{9fa5}]';
- 查询不包含中文:
SELECT name FROM cs_name WHERE asciistr(name) NOT REGEXP '[\\x{4e00}-\\x{9fa5}]';
- 查询包含中文:
你觉得结果怎么样?