資源描述:
《sql中patindex函數(shù)的用法》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫。
1、SQL中patindex函數(shù)的用法?語法格式:PATINDEX('%pattern%',expression)?返回pattern字符串在表達(dá)式expression里第一次出現(xiàn)的位置,起始值從1開始算。pattern字符串在expression表達(dá)式里沒找就返回0,對(duì)所有有效的文本和字符串就是有效的數(shù)據(jù)類型。描述一下此函數(shù)的具體用法:1.PATINDEX('%pattern%',expression)?'%pattern%'的用法類似于like'%pattern%'的用法,也就是模糊查找其pattern字符串是否是expression找到,找到并返回其第一次出
2、現(xiàn)的位置。如:selectpatindex('?b%','abcaabbeeabb')結(jié)果5,也就是abb第一次出現(xiàn)的位置。2.PATINDEX('%pattern',expression)?'%pattern'類似于like'%pattern'的用法,前面用模糊查找,也就是查找pattern的結(jié)束所在expression的位置,也就是從后面匹配起查找。如:selectpatindex('?b','abcaabbeeabb')返回10,也就是abb在后面第一次出現(xiàn)的位置。selectpatindex('?b','abcaabbeeabbr')返回0,后面的第一
3、個(gè)字母r和abb不匹配,所以返回03.PATINDEX('pattern%',expression)?'pattern%'類似于like'pattern%'也就前面用精確查找,后面模糊查找,也就相當(dāng)于查詢pattern首次出現(xiàn)的位置。如:selectpatindex('abb%','abbcaabbeeabb')返回1,也就相當(dāng)于起始值selectpatindex('abb%','arbbcaabbeeabb')返回0,開頭找不到就返回0,后面無論有多少都不管。4.PATINDEX('pattern',expression)?這就相當(dāng)于精確匹配查找,也就是pa
4、ttern,expression完全相等。如:selectpatindex('abb','abb')返回1,完全相等selectpatindex('abb','abbr')返回0,不完全相等5.patindex('%[pattern]%','ddabcaabbeeabbr'),???patindex('%[^pattern]%','ddabcaabbeeabbr')?在此先說[]的用法,[]是指定某些特殊的字符。[^]除[]之外的字符串,[]這其中的每一個(gè)。如:SymbolMeaningLIKE'5[%]'5%LIKE'[_]n'_nLIKE'[a-cdf]'
5、a,b,c,d,orfLIKE'[-acdf]'-,a,c,d,orfLIKE'[[]'[LIKE']']LIKE'abc[_]d%'abc_dandabc_deLIKE'abc[def]'abcd,abce,andabcf如:selectpatindex('%[d]%','rcrdsddddaadadffdr')返回4,[]中d在字符串rcrdsddddaadadffdr的第一次出現(xiàn)的位置。selectpatindex('%[cd]%','rcrdsdddrdaadadffdr')返回2,[]中c,d在其中一個(gè)的位置,返回最先出現(xiàn)的這個(gè)位置,c在此字符串里第
6、一次出現(xiàn)位置是2,而d是4,結(jié)果取最先的那個(gè)。selectpatindex('%[sd]%','rcrdsdddrdaadadffdr')返回4,[]中c,d在其中一個(gè)的位置,返回最先出現(xiàn)的這個(gè)位置,s在此字符串里第一次出現(xiàn)位置是5,而d是4,結(jié)果取最先的那個(gè)。selectpatindex('%[^r]%','rrrdsdddrdaadadffdr')返回4,除[]中的字符串的匹配字符,第一次出現(xiàn)d不在[^r]里,所以就找到第一次這位。selectpatindex('%[^rd]%','rrrdsdddrdaadadffdr')返回5,除[]中的字符串的匹配字
7、符,第一次出現(xiàn)s不在[^rd]里,所以就找到第一次這位。selectpatindex('%[^rsd]%','rrrdsdddrdaadadffdr')返回11,除[]中的字符串的匹配字符,第一次出現(xiàn)a不在[^rsd]里,所以就找到第一次這位。