本文主要介绍SQL的patindex函数的使用案例的详细说明。本文通过一个简单的案例来说明对这项技术的理解和使用。以下是详细内容,有需要的朋友可以参考一下。
语法格式:PATINDEX ( '%pattern%' , expression )
返回模式字符串在表达式expression中第一次出现的位置,从1开始。
如果在表达式expression中没有找到该字符串,它将返回0,这是所有有效文本和字符串的有效数据类型。
描述该功能的具体用法:
1. PATINDEX ( '%pattern%' , expression )
“%pattern%”的用法类似于like“% pattern %”的用法,即模糊查找其模式字符串是否通过表达式找到,找到并返回其第一个出现的位置。
比如:
选择patindex('%b% ',' abcaabbeeabb ')
5,也就是abb最早出现的位置。
2.PATINDEX ( '%pattern' , expression )
“%pattern”类似于like“% pattern”的用法,前面是模糊搜索,即寻找模式结尾所在表达式的位置,也就是从后面匹配中寻找。
比如:
选择patindex('%b ',' abcaabbeeabb ')
返回10,这是abb在后面第一次出现的位置。
选择patindex('%b ',' abcaabbeeabbr ')
0,它后面的第一个字母R不匹配abb,所以返回0。
3.PATINDEX ( 'pattern%' , expression )
' Pattern% '和like 'Pattern% '类似,就是前面用精确搜索,后面用模糊搜索,相当于查询pattern第一次出现的位置。
比如:
选择patindex('abb% ',' abbcaabbeeabb ')
1,相当于起始值。
选择patindex('abb% ',' arbbcaabbeeabb ')
返回0,如果开头找不到,结尾有几个都没关系。
4.PATINDEX ( 'pattern' , expression )
这相当于精确匹配搜索,即模式、表达式完全相等。
比如:
选择patindex('abb ',' abb ')
1,完全相等。
选择patindex('abb ',' abbr ')
0,不完全相等。
5.patindex('%[pattern]% ',' ddabcaabbeeabbr '),
patindex('%[^pattern]%','ddabcaabbeeabbr')
先说[]的用法。[]是指定一些特殊字符。[]个字符串,而不是[],[]个字符串。
比如:
象征意义
比如5[%]' 5%
比如'[_]n' _n
像“[a-CDF]”a、b、c、d或f
像'[-acdf]' -,a,c,d或f
像'[ [ ]' [
像']' ]
比如“abc _ d and abc _ de和abc_de
像“ABC[def]”ABCD,abce和abcf
比如:
select patindex('%[d]% ',' rcrdsddddaadadffdr ')
4、d在字符串rcrdsddddaadadffdr中[]第一次出现的位置。
选择patindex('%[cd]% ',' rcrdsdddrdaadadffdr ')
返回C和D在2、[]之一中的位置,并返回此位置的第一个匹配项。这个字符串中第一次出现的C是2,而D是4,结果是第一个。
select patindex('%[sd]% ',' rcrdsdddrdaadadffdr ')
返回C和D在4、[]之一中的位置,并返回第一个位置。S在这个字符串中的第一个位置是5,D是4,所以结果是第一个。
选择patindex('%[^r]%','rrrdsdddrdaadadffdr')
4,除了[]中字符串的匹配字符,D的第一次出现不在[r]中,所以找到D的第一次出现。
选择patindex('%[^rd]%','rrrdsdddrdaadadffdr')
5,除了[]中字符串的匹配字符,s的第一次出现不在[rd]中,所以找到s的第一次出现。
选择patindex('%[^rsd]%','rrrdsdddrdaadadffdr')
返回11,除了[]中字符串的匹配字符。A的第一次出现不在[RSD]中,所以找到A的第一次出现。
本文对SQL的patindex函数的使用案例的详细说明到此为止。有关SQL的patindex函数的更多信息,请搜索我们以前的文章或继续浏览下面的相关文章。希望大家以后能多多支持我们!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。