如何判断sql中的字符(SQL中字符串中包含字符的判断方法)
类别:数据库 浏览量:2674
时间:2021-10-27 10:33:50 如何判断sql中的字符
SQL中字符串中包含字符的判断方法在sql中我判断包含字符串我们可使用很多方法,如like,replace,charindex函数都可实现我们要的功能,下面我来给各位介绍判断字符串包含字符串sql语句。
通过2个函数CHARINDEX和PATINDEX以及通配符的灵活使用
函数:CHARINDEX和PATINDEX
CHARINDEX:查某字符(串)是否包含在其他字符串中,返回字符串中指定表达式的起始位置。
PATINDEX:查某字符(串)是否包含在其他字符串中,返回指定表达式中某模式第一次出现的起始位置;如果在全部有效的文本和字符数据类型中没有找到该模式,则返回零。特殊:可以使用通配符!
例子:
1. 查询字符串中是否包含非数字字符
SELECT PATINDEX('%[^0-9]%', '1235X461') SELECT PATINDEX('%[^0-9]%', '12350461')
2. 查询字符串中是否包含数字字符
SELECT PATINDEX('%[0-9]%', 'SUYLLGoO') SELECT PATINDEX('%[0-9]%', 'SUYLLG0O')
3.函数判断字符串只包含数字
CREATE FUNCTION [dbo].fn_IsNumeric ( @pString VARCHAR(8000) ) RETURNS bit WITH ENCRYPTION AS BEGIN DECLARE @vJudge int SET @vJudge = 0 SELECT @vJudge = CASE WHEN PATINDEX('%[0-9]%', LOWER(@pString)) > 0 THEN 0 WHEN PATINDEX('%[0-9]%', LOWER(@pString)) = 0 THEN 1 END RETURN @vJudge END
4.函数判断字符串只包含字母(忽略大小写)
CREATE FUNCTION [dbo].fn_IsAlpha ( @pString VARCHAR(8000) ) RETURNS bit WITH ENCRYPTION AS BEGIN DECLARE @vJudge int SET @vJudge = 0 SELECT @vJudge = CASE WHEN PATINDEX('%[a-z]%', LOWER(@pString)) > 0 THEN 0 WHEN PATINDEX('%[a-z]%', LOWER(@pString)) = 0 THEN 1 END RETURN @vJudge END
5. 函数判断字符串不包含任何符号(包括空格)
CREATE FUNCTION [dbo].fn_IsAlphanumeric ( @pString VARCHAR(8000) ) RETURNS bit WITH ENCRYPTION AS BEGIN DECLARE @vJudge int SET @vJudge = 0 SELECT @vJudge = CASE WHEN PATINDEX('%[^a-z0-9]%', LOWER(@pString)) > 0 THEN 0 WHEN PATINDEX('%[^a-z0-9]%', LOWER(@pString)) = 0 THEN 1 END RETURN @vJudge END
6. 函数判断字符串不包含任何符号(除空格外)
CREATE FUNCTION [dbo].fn_IsAlphanumericBlank ( @pString VARCHAR(8000) ) RETURNS bit WITH ENCRYPTION AS BEGIN DECLARE @vJudge int SET @vJudge = 0 SELECT @vJudge = CASE WHEN PATINDEX('%[^a-z0-9 ]%', LOWER(@pString)) > 0 THEN 0 WHEN PATINDEX('%[^a-z0-9 ]%', LOWER(@pString)) = 0 THEN 1 END RETURN @vJudge END -- 注意:[^a-z0-9 ]模式中最后有一个空格。
用charindex()——charindex(字符,字符串)>0 –>包含 查看一段话、一篇文章里面包含什么词
select ID,title,author from Article where CHARINDEX(title,@item)>0
7.用like——
select * from tablename where field1 like like ‘%key%'
8.使用replace()函数
declare @item nvarchar(100) set @item='英语好难'; select ID,title,author from Article where LEN(REPLACE(@item,title,''))<len(@item);--根据替换后的长度进行判断>2、
总结
以上所述是小编给大家介绍的SQL中字符串中包含字符的判断方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对开心学习网网站的支持!
您可能感兴趣
- mysqldata数据如何恢复(mysql5.7.33误删除ibdata文件找回数据的方法)
- mysql数据库数据分析(详解MySQL数据库千万级数据查询和存储)
- django数据库查询条件(djang常用查询SQL语句的使用代码)
- mysql创建表的基本步骤(mysql中操作表常用的sql总结)
- sqlserver 使用SSMS运行sql脚本的六种方法(sqlserver 使用SSMS运行sql脚本的六种方法)
- mysql分区怎么实现(MySql分表、分库、分片和分区知识深入详解)
- sqlserver新建表参数错误(Sql Server中判断表、列不存在则创建的方法)
- mysql查看死锁记录(mysql查看死锁与去除死锁示例详解)
- python中怎么连接mysql(python远程连接MySQL数据库)
- SQL SERVER中调用存储过程
- mysql详细笔记(MySQL的内存表的基础学习教程)
- mysql数据库丢失怎么办(MySQL 数据丢失排查案例)
- 停止mysql服务命令(windows下实现定时重启Apache与MySQL方法)
- navicat premium连接mysql报错(Navicat连接MySQL错误描述分析)
- 分享mysql设计规范(MySQL 可扩展设计的基本原则)
- dedecms SQL语句教程(dedecms各种数字统计SQL语句 包括评论条数,总文档数等等[附修修改版本])
- 城市记忆之上海 最难忘的是老弄堂里的市井味道(城市记忆之上海)
- 太鸡贼了,这老小区轻松搞定了停车问题(这老小区轻松搞定了停车问题)
- 太鸡贼了,这老小区轻松搞定了停车问题(这老小区轻松搞定了停车问题)
- 节日我在岗|警景相融 平安相伴(节日我在岗警景相融)
- 战 疫 时刻 致敬每一位石化大学的 守护者(战疫时刻)
- 老弄堂里的市井味道(老弄堂里的市井味道)
热门推荐
- docker部署spring boot(Spring Boot 打包上传Docker 仓库的详细步骤)
- dedecms中的有些功能如何修改(dedecms 栏目页面转换为单独页面)
- laravel关联查询限制数量(laravel-admin 后台表格筛选设置默认的查询日期方法)
- dede网站怎么修改数据结构表(Dede中通过SQL调用简略标题shorttitle和链接地址的方法)
- css一键布局(css多种方式实现双飞翼布局)
- SQL语句中单引号
- mysql索引b+树和b树(MySQL使用B+Tree当索引的优势有哪些)
- 分享mysql设计规范(MySQL 可扩展设计的基本原则)
- linux基础教程磁盘配额的设计(WDCP Linux服务器磁盘爆满的处理方法)
- tomcat正常启动404(Tomcat正常访问localhost报404问题解决)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9