返回pattern字符串在表达式expression里第一次出现的位置,起始值从1开始算,匹配不上结果=0
举例:
select patindex('%abc%','aabcaabcabc')--2,abc出现的第一个位置
select patindex('%abc' ,'aabcaabcabc')--9,abc在结尾出现的位置
select patindex('%abc' ,'aabcaabcabcc')--0,abc在结尾出现的位置,如果结尾不是,结果为0
select patindex('abc%' ,'aabcaabcabc')--0,abc在开头出现的位置,如果开头没有,结果为0
select patindex('abc%' ,'abcaabcabc')--1,abc在开头出现的位置
也支持中括号[] 否定负号^等
举例:
select * from table where patindex('%[^a-z]%',col)=0--字段为纯字母
where patindex('%[^ABCDEFGHIJKLMNOPQRSTUVWXYZ]%',ltrim(rtrim(pwd)) COLLATE Chinese_PRC_Cs_Ai)=0--字段为纯大写字母