SQLserver中字符串查找功能patindex和charindex的区别
1个回答
展开全部
CHARINDEX 和 PATINDEX 函数都返回指定模式的开始位置,PATINDEX 可使用通配符,而 CHARINDEX
不可以
patindex(pattern,expression) 精确匹配,完全匹配1,不完全匹配0
例如:patindex('aa','aa') 返回1 完全匹配
patindex('aa','aab') 返回0 不完全匹配
patindex(%pattern%,expression)模糊匹配,返回从第几位开始匹配
例如:patindex('%aa%','ssaaa') 返回3 模糊从第三位开始匹配
patindex('%aa','ssddaa') 返回5 模糊从第五位开始匹配
patindex('%aa','ssddaaa') 返回6 模糊从第六位开始匹配
patindex('%aa%','ssddaaa') 返回5 模糊从第五位开始匹配
charindex(pattern,expression)精确匹配,返回第一个满足条件的下标
例如:charindex(aa,aas) 返回1 从第一位开始精确匹配
charindex(aa,saas) 返回2 从第二位开始精确匹配
charindex(aa,saaas) 返回2 从第二位开始精确匹配
charindex(aa,sas) 返回0 没有完全精确匹配的
不可以
patindex(pattern,expression) 精确匹配,完全匹配1,不完全匹配0
例如:patindex('aa','aa') 返回1 完全匹配
patindex('aa','aab') 返回0 不完全匹配
patindex(%pattern%,expression)模糊匹配,返回从第几位开始匹配
例如:patindex('%aa%','ssaaa') 返回3 模糊从第三位开始匹配
patindex('%aa','ssddaa') 返回5 模糊从第五位开始匹配
patindex('%aa','ssddaaa') 返回6 模糊从第六位开始匹配
patindex('%aa%','ssddaaa') 返回5 模糊从第五位开始匹配
charindex(pattern,expression)精确匹配,返回第一个满足条件的下标
例如:charindex(aa,aas) 返回1 从第一位开始精确匹配
charindex(aa,saas) 返回2 从第二位开始精确匹配
charindex(aa,saaas) 返回2 从第二位开始精确匹配
charindex(aa,sas) 返回0 没有完全精确匹配的
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询