如何判断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中字符串中包含字符的判断方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对开心学习网网站的支持!
您可能感兴趣
- SQL Server免费版的安装以及使用SQL Server Management Studio(SSMS)连接数据库的图文方法(SQL Server免费版的安装以及使用SQL Server Management StudioSSMS连接数据库的图文方法)
- python在mysql创建数据库(python3对接mysql数据库实例详解)
- mysqlinnodb锁使用教程(MySQL Innodb关键特性之插入缓冲insert buffer)
- SQL Server中查看未释放的游标
- mysqlorder工作原理(详解Mysql order by与limit混用陷阱)
- python下的sql处理(python中aioysql异步操作MySQL的方法)
- 何谓SQLSERVER参数嗅探问题(何谓SQLSERVER参数嗅探问题)
- sql server 数值类型运算(SQL SERVER2012中新增函数之字符串函数CONCAT详解)
- sql server2012表的数据删除(SQL Server删除表及删除表中数据的方法)
- SQL Server数据库备份的几个建议
- mysql存储过程和函数(MySQL存储过程的查询命令介绍)
- sqlserver表值函数用法(SQL Server数据库中的表名称、字段比较)
- mysql必知必会索引(MySQL索引知识的一些小妙招总结)
- 常用的mysql查询语句(MySQL查询重写插件的使用)
- exists在sql中用法(详解sql中exists和in的语法与区别)
- mysql行级锁使用教程(浅析MySQL的lru链表)
- 越南没事(越南没事情做)
- 重庆旅游攻略(重庆旅游3-4天攻略最佳线路)
- 周杰伦演唱会门票(周杰伦演唱会门票多少钱一张2023)
- 焕然一新 成都轨道集团官方网站改版上线(成都轨道集团官方网站改版上线)
- 成都轨道交通19号线二期全线电通(成都轨道交通19号线二期全线电通)
- 19号线二期全线电通 轨道交通项目最新进展来了(19号线二期全线电通)
热门推荐
- zabbix如何配置监控(zabbix监控mysql的实例方法)
- laravel框架的高级知识点(laravel配置Redis多个库的实现方法)
- asp.net中split的用法
- 如何将tomcat源码以maven方式运行(如何将tomcat源码以maven方式运行)
- python删除list的指定元素(Python list列表中删除多个重复元素操作示例)
- dedecms自定义函数(DEDECMS相关文章以关键字相关的修改方法自定义函数)
- 详解从vue的组件传值着手观察者模式(详解从vue的组件传值着手观察者模式)
- h1标签和h3标签怎么找(H1标签使用的七大注意事项推荐)
- 还有什么问题要问我们的吗,如何回答
- docker日志挂载(docker run -v 挂载数据卷异常,容器状态一直是restarting的解决)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9