SQLserver中字符串查找功能patindex和charindex的区别

 我来答
hy1397471
2016-04-05 · 知道合伙人软件行家
hy1397471
知道合伙人软件行家
采纳数:4714 获赞数:17154
15年数据库维护及数据库应用系统开发经验,从事零售业、服务业及财务管理类系统开发与维护。

向TA提问 私信TA
展开全部

patindexh和charindex函数,都可以在一段字符中搜索字符或字符串。

主要区别在:patindex函数支持使用通配符来进行搜索,charindex不支持通配符。

一、patindex函数

语法格式:patindex ( %pattern% , expression )

pattern:是要搜索的字符串

expression:是被搜索的字符串。

patindex函数返回字符或字符串在另一个字符串或表达式中的起始位置。

patindex函数支持搜索字符串中使用通配符,这也是patindexh和charindex函数主要的区别。
例:

patindex(%bc%,abcd) --返回:2
patindex(ab%,abcd) --返回:1

SQL中可以使用的通配符有:
1、%,替代一个或多个字符
2、_,仅替代一个字符
3、[charlist],字符列中的任何单一字符
4、[^charlist]或者[!charlist],不在字符列中的任何单一字符
二、charindex 函数
语法格式:charindex ( expression1 , expression2 [ , start_location ] )
expression1:是在expression2中寻找的字符

start_location:是charindex函数开始在expression2中找expression1的位置

charindex函数返回一个整数,返回的整数是要找的字符串在被找的字符串中的位置。假如charindex没有找到要找的字符串,那么函数整数0。

例:

charindex(sql, microsoft sql server) --返回:11
charindex(7.0, microsoft sql server 2000) --返回:0
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式