SQL中patindex的用法
SQL中patindex的用法
SQL中patindex的用法基本语法:
PATINDEX ( '%pattern%' , expression )
参数说明
pattern:字符串。可以使用通配符,但 pattern 之前和之后必须有 % 字符(搜索第一个和最后一个字符时除外)。pattern 是短字符数据类型类别的表达式
expression:表达式,通常为要在其中搜索指定模式的列,expression 为字符串数据类型类别
返回类型
int
注释
PATINDEX 对 text 数据类型很有用;除 IS NULL、IS NOT NULL 和 LIKE(这些是 Where 子句中对 text 类型有效的仅有的其它比较运算)外,PATINDEX 也可用于 Where 子句中。
函数的具体用法:
1. PATINDEX ( '%pattern%' , expression )
'%pattern%'的用法类似于 like '%pattern%'的用法,也就是模糊查找其pattern字符串是否是expression找到,找到并返回其第一次出现的位置。
如:
select patindex('%abb%','abcaabbeeabb')
结果5,也就是abb第一次出现的位置。
2.PATINDEX ( '%pattern' , expression )
'%pattern' 类似于 like '%pattern'的用法,前面用模糊查找,也就是查找pattern的结束所在expression的位置,也就是从后面匹配起查找。
如:
select patindex('%abb','abcaabbeeabb')
返回10,也就是abb在后面第一次出现的位置。
select patindex('%abb','abcaabbeeabbr')
返回0,后面的第一个字母r和abb不匹配,所以返回0
3.PATINDEX ( 'pattern%' , expression )
'pattern%'类似于 like 'pattern%'也就前面用精确查找,后面模糊查找,也就相当于查询pattern首次出现的位置。
如:
select patindex('abb%','abbcaabbeeabb')
返回1,也就相当于起始值
select patindex('abb%','arbbcaabbeeabb')
返回0,开头找不到就返回0,后面无论有多少都不管。
4.PATINDEX ( 'pattern' , expression )
这就相当于精确匹配查找,也就是pattern,expression完全相等。
如:
select patindex('abb','abb')
返回1,完全相等
select patindex('abb','abbr')
返回0,不完全相等
5. patindex('%[pattern]%','ddabcaabbeeabbr'),
在此先说[]的用法,[]是指定某些特殊的字符。[^]除[]之外的字符串,[]这其中的每一个。
如:
Symbol Meaning
LIKE '5[%]' 5%
LIKE '[_]n' _n
LIKE '[a-cdf]' a, b, c, d, or f
LIKE '[-acdf]' -, a, c, d, or f
LIKE '[ [ ]' [
LIKE ']' ]
LIKE 'abc[_]d%' abc_d and abc_de
LIKE 'abc[def]' abcd, abce, and abcf
实例如:
select patindex('%[d]%','rcrdsddddaadadffdr')
返回4,[]中d在字符串rcrdsddddaadadffdr的第一次出现的位置。
select patindex('%[cd]%','rcrdsdddrdaadadffdr')
返回2,[]中c,d在其中一个的位置,返回最先出现的这个位置,c在此字符串里第一次出现位置是2,而d是4,结果取最先的那个。
select patindex('%[sd]%','rcrdsdddrdaadadffdr')
返回4,[]中c,d在其中一个的位置,返回最先出现的这个位置,s在此字符串里第一次出现位置是5,而d是4,结果取最先的那个。
select patindex('%[^r]%','rrrdsdddrdaadadffdr')
返回4,除[]中的字符串的匹配字符,第一次出现d不在[^r]里,所以就找到第一次这位。
select patindex('%[^rd]%','rrrdsdddrdaadadffdr')
返回5,除[]中的字符串的匹配字符,第一次出现s不在[^rd]里,所以就找到第一次这位。
select patindex('%[^rsd]%','rrrdsdddrdaadadffdr')
返回11,除[]中的字符串的匹配字符,第一次出现a不在[^rsd]里,所以就找到第一次这位。
- 操作mysql的jdbc(JDBC连接的六步实例代码与mysql连接)
- mysql的三种模式(详解 MySQL的FreeList机制)
- mysql单个表可以储存多少内容(浅谈mysql一张表到底能存多少数据)
- 如何看idea连接mysql数据库(IDEA 链接Mysql数据库并执行查询操作的完整代码)
- phpstudymysql启动又自动停止(Win下解决phpStudy MySQL启动失败)
- python操作mysql连接池(详解Python连接MySQL数据库的多种方式)
- sqlserver安装使用教程(SQL Server 2019下载与安装教程自定义安装)
- sql server设置自增(sql server建表时设置ID字段自增的简单方法)
- sqlserver日志目录是否过大(SQL Server利用sp_spaceused如何查看表记录存在不准确的情况)
- mysql查询时间格式化(MySQL时间格式化)
- mysql视图管理方法(MySQL 视图View原理解析)
- mysql行级锁使用教程(浅析MySQL的lru链表)
- sql中的map函数用法(Mapper sql语句字段和实体类属性名字有什么关系)
- 用mysql语句写python学生管理系统(Python基于mysql实现学生管理系统)
- mysql 高级查询语法(MySQL查询语句进阶知识集锦)
- mysql 死锁产生的原因和必要条件(Mysql查看死锁与解除死锁的深入讲解)
- 战 疫 时刻 致敬每一位石化大学的 守护者(战疫时刻)
- 老弄堂里的市井味道(老弄堂里的市井味道)
- 小米音乐可绑定QQ音乐, QQ音乐 真的会消失在小米的设备上吗(小米音乐可绑定QQ音乐)
- 小米Watch S1评测 或许能成为小米冲击高端可穿戴设备的里程碑(小米WatchS1评测或许能成为小米冲击高端可穿戴设备的里程碑)
- 手机QQ与小米路由器在一起 明天揭晓,敬请期待(手机QQ与小米路由器在一起)
- 小米音乐与 QQ 音乐合作,便捷迁移会员(小米音乐与QQ音乐合作)
热门推荐
- python如何使用yield(YII2.0框架行为Behavior深入详解)
- ftp上传文件权限设置(FTP二进制上传是什么意思?设置并使用二进制BINARY上传?)
- 云服务器自己配置还是主机好(云服务器配置怎么选才好?)
- php闰年计算公式(php判断/计算闰年的方法小结三种方法)
- sql中去除重复记录的关键字(sqlserver查询去掉重复数据的实现)
- 微信支付公众号认证(微信公众平台开发教程⑤ 微信扫码支付模式介绍)
- python程序锁教程(在python里协程使用同步锁Lock的实例)
- thinkphp使用说明(thinkphp框架使用JWTtoken的方法详解)
- 阿里云ecs部门怎么样(阿里云ecs是什么意思?)
- python3有哪些内置模块(Python3.5内置模块之os模块、sys模块、shutil模块用法实例分析)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9