字符串查找函数是SQL Server中常用的一个函数,它可以在一个字符串中查找另一个字符串的位置,返回一个整数值。字符串查找函数有两种形式,一种是CHARINDEX,另一种是PATINDEX。本文将介绍这两种函数的用法和区别,并给出一些实例。
CHARINDEX函数的语法如下:
expressionToFind是要查找的字符串,expressionToSearch是要搜索的字符串,start_location是可选参数,表示从哪个位置开始查找,默认为1。如果expressionToFind在expressionToSearch中存在,返回它在expressionToSearch中第一次出现的位置;如果不存在,返回0。
1.- 返回 0,因为大小写不匹配
2.- 返回 0,因为从第12个位置开始查找,没有找到
PATINDEX函数的语法如下:
pattern是要查找的模式,可以包含通配符,expressionToSearch是要搜索的字符串。如果pattern在expressionToSearch中存在,返回它在expressionToSearch中第一次出现的位置;如果不存在,返回0。
1.- 返回 11,因为不区分大小写
2.- 返回 11,因为匹配了任意大写字母加QL的模式
可以看出,CHARINDEX和PATINDEX的主要区别在于:
1.CHARINDEX区分大小写,而PATINDEX不区分大小写。
2.CHARINDEX只能查找固定的字符串,而PATINDEX可以查找模式,并使用通配符。