PATINDEX()函數是SQL Server中的一個字符函數,用于查詢字符串中某種模式的字符第一次出現的位置。
PATINDEX(pattern, expression)
其中,pattern是要搜索的模式,可以是普通字符、通配符或正則表達式;expression是要搜索的表達式。
PATINDEX()函數返回的是第一個匹配的字符位置,如果沒有找到匹配的字符,則返回0。
示例:
SELECT PATINDEX(‘%a%’, ‘abcde’) – 返回2
SELECT PATINDEX(‘[a-z]%’, ‘abcde’) – 返回1
SELECT PATINDEX(‘\w{2} \w{2} \w{2}’, ‘AB CD EF’) – 返回1
需要注意的是,PATINDEX()函數不區分大小寫,如果需要區分大小寫,需要使用BINARY關鍵字。
示例:
SELECT PATINDEX(BINARY ‘a%’, ‘ABC’) – 返回0
SELECT PATINDEX(BINARY ‘A%’, ‘ABC’) – 返回1
PATINDEX()函數在實際應用中,常用于模糊搜索、正則表達式匹配等場景。