SQL Server函数:charindex和patindex的用法
当前位置:点晴教程→知识管理交流
→『 技术文档交流 』
在Microsoft SQL Server中,CHARINDEX 函数用于在一个字符串中查找另一个指定字符串的起始位置。如果找到,返回指定字符串在源字符串中的起始位置索引(从 1 开始计数);如果没找到,则返回 0。 基本语法:
expressionToFind: 目标字符串,就是想要找到的字符串,最大长度为8000 。 expressionToSearch: 用于被查找的字符串。 start_location(可选): 开始查找的位置,为空时默认从第一位开始查找。 1、简单测试:
结果为6。 2、增加开始位置,但结果还是从前往后数
结果为14。 3、大小写敏感
结果为0。 4、大小写不敏感,CI是Case-InSensitve的缩写
结果为6。 5、提取第一个分号前的内容
结果为: 测试2; 测试3; 测试12; 测试13; PATINDEX和CHARINDEX类似,PATINDEX也可以用来判断一个字符串中是否包含另一个字符串,二者的差异在于,前者是全匹配,后者支持模糊匹配。 基本语法:
%pattern%:这是包含通配符的模式字符串。通配符“%”表示零个或多个字符。例如“% abc%” 可以匹配包含“abc”的任何字符串,像“xabc”、“abcdef”等。 expression:这是要在其中查找模式的源字符串。 例如:
结果为3。
结果为8。 注意: 1、在大多数简单的、没有通配符的字符串查找场景中,CHARINDEX 函数的效率通常更高。因为 CHARINDEX 只需要进行基本的字符串逐字符匹配,而 PATINDEX 函数由于要处理可能存在的通配符和复杂的模式匹配规则,会涉及更复杂的逻辑处理。 2、MySQL 不支持charindex和patindex函数,但有类似功能的函数。 该文章在 2024/11/14 11:40:42 编辑过 |
关键字查询
相关文章
正在查询... |