Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.
返回一个整数,该整数表示模式第一次在字符串中出现的起始位置。
PATINDEX( '%pattern%', string-expression )
pattern 要搜索的模式。如果省略前导百分号通配符,则模式出现在字符串起始处时,PATINDEX 函数返回一 (1),否则返回零。
UltraLite 的模式使用以下通配符:
string-expression 要在其中搜索模式的字符串。
INT
PATINDEX 函数返回模式第一次出现的开始位置。如果未找到模式,则返回零 (0)。
SQL/2008 服务商扩充。
以下语句返回值 2。
SELECT PATINDEX( '%hoco%', 'chocolate' );
以下语句返回值 11。
SELECT PATINDEX( '%4_5_', '0a1A 2a3A 4a5A' );
以下语句返回 14,即字符串表达式中第一个非字母数字字符。注意,如果数据库区分大小写,则可使用模式 '%[^a-z0-9]%' 代替 '%[^a-zA-Z0-9]%'。
'%[^a-z0-9]%'
'%[^a-zA-Z0-9]%'
SELECT PATINDEX( '%[^a-zA-Z0-9]%', 'SQLAnywhere12 has many new features' );
要获得字符串中的第一个字母数字单词,可以通过类似下面的方式:
SELECT LEFT( @string, PATINDEX( '%[^a-zA-Z0-9]%', @string ) );