SQL Server PATINDEX() 函数

定义和用法

PATINDEX() 函数返回字符串中模式的位置。

如果未找到该模式,此函数返回 0。

注意:搜索不区分大小写,并且字符串中的第一个位置是 1。

实例

例子 1

返回字符串中模式的位置:

SELECT PATINDEX('%schools%', 'w3school.com.cn');

亲自试一试

例子 2

返回字符串中模式的位置:

SELECT PATINDEX('%s%com%', 'w3school.com.cn');

亲自试一试

例子 3

返回字符串中模式的位置:

SELECT PATINDEX('%[ol]%', 'w3school.com.cn');

亲自试一试

例子 4

返回字符串中模式的位置:

SELECT PATINDEX('%[z]%', 'w3school.com.cn');

亲自试一试

语法

PATINDEX(%pattern%, string)

参数

参数 描述
%pattern%

必需。要查找的模式。它必须被 % 包围。模式中可以使用其他通配符,例如:

  • % - 匹配任何长度的任何字符串(包括长度为 0)
  • _ - 匹配单个字符
  • [] - 匹配方括号中的任何字符,例如 [xyz]
  • [^] - 匹配不在方括号中的任何字符,例如 [^xyz]
string 必需。要搜索的字符串。

技术细节

适用于:
  • SQL Server(从 2008 开始)
  • Azure SQL Database
  • Azure SQL Data Warehouse
  • Parallel Data Warehouse