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

一、包含中文字符

select * from 表名 where 列名 like '%[吖-座]%'

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

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

SELECT column FROM table WHERE length(column)!=char_length(column)

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

二、包含英文字符

select * from 表名 where 列名 like '%[a-z]%' or like '%[A-Z]%'

三、包含纯数字

select * from 表名 where 列名 like '%[0-9]%'

方法二:通配符。高逼格使用。
适用场景:2005及以上(2005之前的版本没试过,应该也支持)

--返回0-则为纯数字(支持正负数,小数点)SELECT PATINDEX('%[^0-9|.|-|+]%','2.2')--返回0--返回0-则为纯整数
select PATINDEX('%[^0-9]%', '2.2') --返回 非0的位置

四、从sqlserver中提取数据截取字符

1、LOCATE(substr , str ):返回子串 substr 在字符串 str 中第一次出现的位置,如果字符substr在字符串str中不存在,则返回0;
2、POSITION(substr IN str ):返回子串substr 在字符串 str 中第一次出现的位置,如果字符substr在字符串str中不存在,与LOCATE函数作用相同;
3、LEFT(str, length):从左边开始截取str,length是截取的长度;
4、RIGHT(str, length):从右边开始截取str,length是截取的长度;
5、SUBSTRING_INDEX(str ,substr ,n):返回字符substr在str中第n次出现位置之前的字符串;
6、SUBSTRING(str ,n ,m):返回字符串str从第n个字符截取到第m个字符;
7、REPLACE(str, n, m):将字符串str中的n字符替换成m字符;
8、LENGTH(str):计算字符串str的长度。

是否包含中文基本原理:字符的 unicode编码范围。

0~9 : 48~57
A~Z :65 ~ 90
a~z : 97~ 122

汉字unicode编码范围:[0x4e00,0x9fa5](或十进制[19968,40869])

SELECT * FROM dbo.person  WHERE UNICODE(字段) BETWEEN 19968 AND 40869

判断字符串中含有中文

SELECT * FROM tb WHERE PATINDEX('%[啊-座]%',FieldName)>0或: SELECT * FROM tb WHERE PATINDEX('%[吖-座]%',FieldName)>0

注意:N’%[吖-座]%’ 不适用于英文版或国外的SQLServer环境。 (<0 不含中文)
通用性最好的还是 UNICODE(字段) BETWEEN 19968 AND 40869 ,但不好做判断

-- 判断是否不含中文
IF( select top(1) PATINDEX(N'%[吖-座]%',Description) From ZZZ_Aegis_ADSN  ) <=0select 1
else  select 0
/* 判断是否包含中文,并把是否含中文作为条件来执行一些操作  */
IF( select top(1) PATINDEX('%[吖-座]%',ApplyName) From [B_00TEST]  ) >0
select 1
else  select 0--这个不能作为IF的条件,只能查询到具体信息
SELECT top(1) * FROM [B_00TEST] WHERE PATINDEX(N'%[吖-座]%',ApplyName) <=0IF( UNICODE(N'啊111') BETWEEN 19968 AND 40869 )  select 1  else  select 0IF( UNICODE(N'Abc111') BETWEEN 19968 AND 40869 )  select 1  else  select 0  --中文''前面要加N

通配符:[]

> FieldName like '[a-zA-Z]%'  --------- ([]指定值的范围)
> FieldName like  '[^F-M]%'    --------- (^排除指定范围)

可参考文章:https://www.cnblogs.com/05-hust/p/15031795.html

SQL判断某列中是否包含中文字符、英文字符、纯数字,数据截取相关推荐

  1. SQL判断某列中是否包含中文字符或者英文字符

    [sql] view plaincopy select * from 表名 where 某列 like '%[吖-座]%' select * from 表名 where 某列 like '%[a-z] ...

  2. go 验证字符串中是否包含中文或英文

    Go 验证字符串中是否包含中文(推荐) _ [IIS7站长之家] golang判断字符是不是字母-Golang-PHP中文网 基础知识 - Golang 中的正则表达式 - GoLove - 博客园 ...

  3. Java判断一个字符串中是否包含中文字符工具类

    Java判断一个字符串是否有中文一般情况是利用Unicode编码(CJK统一汉字的编码区间:0x4e00–0x9fbb)的正则来做判断,但是其实这个区间来判断中文不是非常精确,因为有些中文的标点符号比 ...

  4. cx+oracle+sql含中文,sql 判断字段值是是否包含中文字符

    在itpub上看到了这个方法,我想修改一下,修改后如下 从表里提取汉字, 需要考虑字符集, 不同的字符集汉字的编码有所不同 这里以GB2312为例, 写一函数准确地从表里提取简体汉字. 假设数据库字符 ...

  5. pandas使用isna函数和any函数判断dataframe中的每一个数据列中是否包含缺失值

    pandas使用isna函数和any函数判断dataframe中的每一个数据列中是否包含缺失值(check if column contains any missing values in dataf ...

  6. java判断字符串中是否包含中文 过滤中文

    package com.test;import java.util.regex.Matcher; import java.util.regex.Pattern;public class Test {@ ...

  7. 判断字符串中是否包含中文

    判断字符串中是否包含中文 select case when 'y我' like '%[啊-座]%' then '包含中文 ' else '不包含中文 ' end 转载于:https://www.cnb ...

  8. java 判断是否包含中文_java判断字符串中是否包含中文并过滤中文

    java判断字符串中是否包含中文并过滤掉中文,具体内容如下 1.判断字符串中是否包含中文方法封装 /** * 判断字符串中是否包含中文 * @param str * 待校验字符串 * @return ...

  9. JAVA判断字符串中是否包含中文汉字

    汉字的Unicode范围扩展了好多次了,网上的各种判断正则都是之前的,漏了很多 汉字 下面是最新的最全的判断正则 /*** 判断字符串中是否包含中文汉字** @param content* @retu ...

最新文章

  1. 如何使用Python创建自己的加密货币
  2. Mac系统安装Aircrack-ng破解wifi密码(2)
  3. php zval_copy_static_var(),深入理解 PHP7 中全新的 zval 容器和引用计数机制
  4. TypeScript 联合类型(union type)
  5. labview利用簇模拟汽车控制_在LabVIEW应用程序中何时应采用面向对象技术 (翻译)...
  6. quick-cocos2d-x for mac开发环境安装配置
  7. oracle rac war配置,Oracle RAC安装配置流程
  8. 3gpp协议_3GPP都在干什么(16)?:3GPP中网络切片原理及协议解读
  9. sublime3环境
  10. 电子相册系统(二)业务层设计
  11. ttf字体文件裁剪,字体文件压缩,字体文件提取
  12. 封装继承多态_继承重写重载
  13. 脉宽调制功能(PWM)
  14. excel中输入身份证号后三位变成0怎么办
  15. NOTION 换深色背景 黑色背景
  16. Java实现 LeetCode 383 赎金信
  17. 【转】ASC II 完整码表及简介
  18. java写一个文件浏览器_【Java】 实现一个简单文件浏览器(2)
  19. 阿里java开发规范学习笔记 (V1.5华山版)
  20. iOS 生成二维码 原生代码

热门文章

  1. st-link下载连线
  2. 破解人脸识别被判七年!打击黑产,鼓励人脸识别技术健康发展
  3. 钉钉大肆抢夺TO B数字化办公市场 企业微信、金蝶、石墨文档、脉脉等危矣?...
  4. 前端之CSS篇(二)——CSS复合选择器及元素的显示模式和背景属性
  5. 好用的待办事项APP有哪些
  6. 目前主流的移动广告联盟有哪些呢?
  7. 计算机基本应用能力,计算机应用能力基本.ppt
  8. 《干法》喜欢的金句(一)
  9. 【微信小程序-0基础入门】相关介绍和账号注册
  10. QT 使用QZXing生成,解析二维码跟条码