千家信息网

SQL中如何使用patindex函数

发表于:2025-02-04 作者:千家信息网编辑
千家信息网最后更新 2025年02月04日,本篇文章给大家分享的是有关SQL中如何使用patindex函数,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。返回pattern字符串在表
千家信息网最后更新 2025年02月04日SQL中如何使用patindex函数

本篇文章给大家分享的是有关SQL中如何使用patindex函数,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

  返回pattern字符串在表达式expression里第一次出现的位置,起始值从1开始算。

  pattern字符串在expression表达式里没找就返回0,对所有有效的文本和字符串就是有效的数据类型。

描述一下此函数的具体用法:

  1.PATINDEX('%pattern%',expression)

  '%pattern%'的用法类似于like'%pattern%'的用法,也就是模糊查找其pattern字符串是否是expression找到,找到并返回其第一次出现的位置。

  如:

  selectpatindex('%abb%','abcaabbeeabb')

  结果5,也就是abb第一次出现的位置。

  2.PATINDEX('%pattern',expression)

  '%pattern'类似于like'%pattern'的用法,前面用模糊查找,也就是查找pattern的结束所在expression的位置,也就是从后面匹配起查找。

  如:

  selectpatindex('%abb','abcaabbeeabb')

  返回10,也就是abb在后面第一次出现的位置。

  selectpatindex('%abb','abcaabbeeabbr')

  返回0,后面的第一个字母r和abb不匹配,所以返回0

  3.PATINDEX('pattern%',expression)

  'pattern%'类似于like'pattern%'也就前面用精确查找,后面模糊查找,也就相当于查询pattern首次出现的位置。

  如:

  selectpatindex('abb%','abbcaabbeeabb')

  返回1,也就相当于起始值

  selectpatindex('abb%','arbbcaabbeeabb')

  返回0,开头找不到就返回0,后面无论有多少都不管。

  4.PATINDEX('pattern',expression)

  这就相当于精确匹配查找,也就是pattern,expression完全相等。

  如:

  selectpatindex('abb','abb')

  返回1,完全相等

  selectpatindex('abb','abbr')

  返回0,不完全相等

  5.patindex('%[pattern]%','ddabcaabbeeabbr'),

  patindex('%[^pattern]%','ddabcaabbeeabbr')

  在此先说[]的用法,[]是指定某些特殊的字符。[^]除[]之外的字符串,[]这其中的每一个。

  如:

  SymbolMeaning

  LIKE'5[%]'5%

  LIKE'[_]n'_n

  LIKE'[a-cdf]'a,b,c,d,orf

  LIKE'[-acdf]'-,a,c,d,orf

  LIKE'[[]'[

  LIKE']']

  LIKE'abc[_]d%'abc_dandabc_de

  LIKE'abc[def]'abcd,abce,andabcf

  如:

  selectpatindex('%[d]%','rcrdsddddaadadffdr')

  返回4,[]中d在字符串rcrdsddddaadadffdr的第一次出现的位置。

  selectpatindex('%[cd]%','rcrdsdddrdaadadffdr')

  返回2,[]中c,d在其中一个的位置,返回最先出现的这个位置,c在此字符串里第一次出现位置是2,而d是4,结果取最先的那个。

  selectpatindex('%[sd]%','rcrdsdddrdaadadffdr')

  返回4,[]中c,d在其中一个的位置,返回最先出现的这个位置,s在此字符串里第一次出现位置是5,而d是4,结果取最先的那个。

  selectpatindex('%[^r]%','rrrdsdddrdaadadffdr')

  返回4,除[]中的字符串的匹配字符,第一次出现d不在[^r]里,所以就找到第一次这位。

  selectpatindex('%[^rd]%','rrrdsdddrdaadadffdr')

  返回5,除[]中的字符串的匹配字符,第一次出现s不在[^rd]里,所以就找到第一次这位。

  selectpatindex('%[^rsd]%','rrrdsdddrdaadadffdr')

  返回11,除[]中的字符串的匹配字符,第一次出现a不在[^rsd]里,所以就找到第一次这位。

以上就是SQL中如何使用patindex函数,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注行业资讯频道。

字符 位置 第一次 字符串 也就是 最先 函数 结果 有效 精确 就是 更多 知识 篇文章 表达式 起始 实用 特殊 字母 工作会 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 杭州爱财网络技术有限公司 数据库字段名怎么取 华为校招软件开发面试经验 物联网公司用什么云端服务器 软件开发 swot 本机向服务器发送文件 计算机网络技术入门好的书籍 用本地服务器做共享云网盘 dtu服务器转发 自媒体如何维护网络安全 首选dns服务器密码是多少 冬奥会网络安全应急演练总结 网络安全与网络管理选择题 常州软件开发商家 今天360软件服务器未响应 移动教学数据库完整性 明日之后没有服务器怎么办 培训系统软件开发公司 软件开发项目书的主要内容 dns服务器ping不通 南宁软件开发工资一般多少 大工21春数据库原理在线作业1 软件开发与应用属于什么专业 金蝶软件开发编码使用步骤 永春堂软件开发 用友软件数据库表 测绘图数据库 福州麟创网络技术有限公司 网络不通服务器是什么原因 游戏疯狂女神探软件开发者
0