首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >[654]SQL判断某列中是否包含中文字符、英文字符、纯数字

[654]SQL判断某列中是否包含中文字符、英文字符、纯数字

作者头像
周小董
修改2025-08-22 17:22:55
修改2025-08-22 17:22:55
12.7K0
举报
文章被收录于专栏:数据库&中间件数据库&中间件

一、包含中文字符

代码语言:javascript
复制
select * from 表名 where 列名 like '%[吖-座]%'

吖-座是中文字符集第一个到最后一个的范围,虽然匹配准确,但是用Like的效率很低

在使用mysql时候,某些字段会存储中文字符,或是包含中文字符的串,查询出来的方法是:

代码语言:javascript
复制
SELECT column FROM table WHERE length(column)!=char_length(column)

原理其实很简单,当字符集为UTF-8,并且字符为中文时,length() 和 char_length() 两个方法返回的结果是不相同的。

二、包含英文字符

代码语言:javascript
复制
select * from 表名 where 列名 like '%[a-z]%' or like '%[A-Z]%'

三、包含纯数字

代码语言:javascript
复制
select * from 表名 where 列名 like '%[0-9]%'
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019年09月09日,如有侵权请联系 cloudcommunity@tencent.com 删除
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档