返回模式字符串在表达式表达式里第一次出现的位置,起始值从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函数的用法详解