您的位置:首页 > 数据库

数据库sql如何查询某个字段只含有数字和字母或者是汉字

2017-08-03 12:14 3255 查看
--只含有数字和字母的

select 列名 from 表名 where REGEXP_LIKE(列名,'^([\u4e00-\u9fa5]+)$')

--只含有汉字
select 列名 from 表名 where length(列名)=length(ASCIISTR(列名))-length(replace(ASCIISTR(列名),'\',''))

说明:asciistr()函数会将字符串转换成ASCII值,如果这个字符在ASCII码表中,则转化成ASCII对应的字符;如果没有(如中文和全角字符),则转成\xxxx格式。

length()函数统计中文长度为1,lengthb()对应的一个汉字为2字节。上边的语句是在比较汉字的个数和转成ASCII值后\的个数,如若相等,则说明全是汉字。(如果想要排除全角符号的影响,则需先把字段半角,函数为 to_single_byte())。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐