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。
亿速云「云数据库 MySQL」免部署即开即用,比自行安装部署数据库高出1倍以上的性能,双节点冗余防止单节点故障,数据自动定期备份随时恢复。点击查看>>
推荐阅读:SQL的patindex函数怎么使用