SqlServer

SQLSERVER的PATINDEX函数怎么使用

小亿
280
2023-09-13 13:54:33
栏目: 云计算

SQL Server 的 PATINDEX 函数用于在字符串中查找模式,并返回模式的起始位置。语法如下:

PATINDEX(‘pattern’, ‘string’)

其中,‘pattern’ 是要查找的模式,可以包含通配符,但只支持 % 和 _ 两种通配符。‘string’ 是要在其中查找模式的字符串。

例如,我们要在字符串 ‘Hello, World!’ 中查找字符串 ‘lo’ 的起始位置,可以使用以下语句:

SELECT PATINDEX(‘%lo%’, ‘Hello, World!’)

执行結果为:4,表示 ‘lo’ 的起始位置是在第 4 个字符。

同样地,如果要查找字符串中以 ‘He’ 开头的子串,可以使用以下语句:

SELECT PATINDEX(‘He%’, ‘Hello, World!’)

执行结果为:1,表示以 ‘He’ 开头的子串的起始位置是在第 1 个字符。

如果未能找到模式,则 PATINDEX 函数返回 0。

需要注意的是,PATINDEX 函数是区分大小写的。如果希望进行大小写不敏感的模式匹配,可以使用 COLLATE 子句指定一个不区分大小写的字符集。例如:

SELECT PATINDEX(‘%lo%’ COLLATE Latin1_General_CI_AS, ‘Hello, World!’)

其中,CI 表示不区分大小写,AS 表示使用字符集 Latin1_General。

0
看了该问题的人还看了