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()函数在实际应用中,常用于模糊搜索、正则表达式匹配等场景。