本帖最后由 万望 于 2015-10-28 03:41 编辑
作为一个码农,在开发中你可能偶尔会碰到要确定字符或字符窜串否包含在一段文字中,在这篇文章中,我们将讨论使用CHARINDEX和PATINDEX函数来搜索文字列和字符串。下面将告诉你这两个函数是如何运转的,解释他们的区别。 CHARINDEX和PATINDEX函数常常用来在一段字符中搜索字符或者字符串。如果被搜索的字符中包含有要搜索的字符,那么这两个函数返回一个非零的整数,这个整数是要搜索的字符在被搜索的字符中的开始位数。PATINDEX函数支持使用通配符来进行搜索,然而CHARINDEX不支持通佩符。
CHARINDEX函数:返回字符或者字符串在另一个字符串中的起始位置。
- <font size="3">CHARINDEX ( expression1 , expression2 [ , start_location ] )</font>
复制代码说明:Expression1是要到expression2中寻找的字符中,start_location是CHARINDEX函数开始在expression2中找expression1的位置。 CHARINDEX函数返回一个整数,返回的整数是要找的字符串在被找的字符串中的位置。假如CHARINDEX没有找到要找的字符串,那么函数整数“0”。让我们看看下面的函数命令执行的结果:
CHARINDEX(’SQL’, ’Microsoft SQL Server’)
这个函数命令将返回在“Microsoft SQL Server”中“SQL”的起始位置,在这个例子中,CHARINDEX函数将返回“S”在“Microsoft SQL Server”中的位置11。 接下来,我们看这个CHARINDEX命令: CHARINDEX(’7.0’, ’Microsoft SQL Server 2000’) 在这个例子中,CHARINDEX返回零,因为字符串“7.0” 不能在“ Microsoft SQL Server”中被找到。
|