SQL中patindex函数的用法详解

  

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

  

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

  

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

  


  

  

“% %模式”的用法类似于像“% %模式”的用法,也就是模糊查找其模式字符串是否是找表达到,找到并返回其第一次出现的位置。

  如:

        选择patindex (% abb %, abcaabbeeabb)      

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

  

  

%模式的类似于像“%模式”的用法,前面用模糊查找,也就是查找模式的结束所在表达式的位置,也就是从后面匹配起查找。

  如:

        选择patindex (“% abb”、“abcaabbeeabb”)      之前      

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

  

选择patindex (% abb, abcaabbeeabbr)

  

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

  


  

  

%’的模式类似于像“模式%”也就前面用精确查找,后面模糊查找,也就相当于查询模式首次出现的位置。

  如:

        选择patindex (abb %, abbcaabbeeabb)      

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

  

选择patindex (abb %, arbbcaabbeeabb)

  

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

  


  

  

这就相当于精确匹配查找,也就是模式,表达完全相等。

  如:

        选择patindex (“abb”、“abb”)      之前      

返回1,完全相等

        选择patindex (“abb”、“方法”)      

返回0,不完全相等

  


  

  

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

  如:

  

象征意义   

5[%]的5%

  

像“[_]n”_n”

  

像“[a-cdf]”, b, c, d,或f

  像“[-acdf]”——

, a, c, d,或f

  

像'[[]的[

  

像']']

  

像美国广播公司[_]d % abc_d和abc_de

  

像“abc (def)“abcd abce, abcf

  如:

        选择patindex (“% [d] %”、“rcrdsddddaadadffdr”)      之前      

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

        选择patindex (% (cd) %, rcrdsdddrdaadadffdr)      

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

        选择patindex (% (sd) %, rcrdsdddrdaadadffdr)      

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

        选择patindex (% [^ r] %, rrrdsdddrdaadadffdr)      

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

        选择patindex (% (^ rd) %, rrrdsdddrdaadadffdr)      

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

        选择patindex (% [^ rsd=] %, rrrdsdddrdaadadffdr)      除

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

  

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

SQL中patindex函数的用法详解