SQL PATINDEX() 函数
PATINDEX() 函数用于检索表达式中模式的位置。它接受两个参数,表示模式和表达式,并返回指定列中给定模式第一次出现的起始位置。如果在表达式中找不到指定模式,则返回0。
使用该函数进行搜索是不区分大小写的,即不同大小写的相同字符(”a” 和 “A”)被视为一个字符。表达式中的第一个位置从1开始。
如果我们将列名作为参数传递给此函数,表达式可以是字符串或列的名称,此函数将返回每列中模式的索引(如果模式不存在,则为0)。
语法
以下是 PATINDEX() 函数的语法 –
参数
- pattern - 包含要查找的字符序列的表达式。
-
expression - 字符串或您需要查找模式索引的列的名称。
示例
以下SELECT查询显示了给定字符串中单词“Ocean”的PATINDEX。
输出
以下是上述查询的输出结果 –
示例
以下SELECT查询返回原始字符串中字符串“Manufacturing Company”的PATINDEX。
输出
以下是上面查询的结果:
示例
以下SELECT查询显示了原始字符串中字符’T’的PATINDEX。
输出
以下是上述查询的输出 –
示例
以下SELECT查询显示了PATINDEX,其中我们给出的字符在原始字符串中不存在,因此返回0。
输出
以下是上述查询的输出结果-
示例
您可以将表列作为参数传递给 PATINDEX() 函数,将字符或字符串转换为 PATINDEX() 函数。假设我们使用以下 CREATE 语句创建了一个名为 Customers 的表-
现在让我们使用INSERT语句将 七条 记录插入到customers表中,如下所示:-
以下SELECT查询在上述CUSTOMERS表格的Name列中使用了PATINDEX()函数。
输出
以下是上述查询的输出结果-
示例
以下SELECT查询使用了上述CUSTOMERS表中的NAME、ADDRESS列,并且使用了LOWER函数。
输出
以下是上述查询的输出结果-