SQL CHARINDEX函数

CHARINDEX
返回字符串中指定表达式的起始位置。  

语法
CHARINDEX   (   expression1   ,   expression2   [   ,   start_location   ]   )  

参数
expression1

一个表达式,其中包含要寻找的字符的次序。expression1   是一个短字符数据类型分类的表达式。

expression2

一个表达式,通常是一个用于搜索指定序列的列。expression2   属于字符串数据类型分类。

start_location

在   expression2   中搜索   expression1   时的起始字符位置。如果没有给定   start_location,而是一个负数或零,则将从   expression2   的起始位置开始搜索。

返回类型
int

注释
如果   expression1   或   expression2   之一属于   Unicode   数据类型(nvarchar   或   nchar)而另一个不属于,则将另一个转换为   Unicode   数据类型。

如果   expression1   或   expression2   之一为   NULL   值,则当数据库兼容级别为   70   或更大时,CHARINDEX   返回   NULL   值。当数据库兼容级别为   65   或更小时,CHARINDEX   仅在   expression1   和   expression2   都为   NULL   时返回   NULL   值。  

如果在   expression2   内没有找到   expression1,则   CHARINDEX   返回   0。

示例
第一个代码示例返回序列 "wonderful "在   titles   表的   notes   列中开始的位置。第二个示例使用可选的   start_location   参数从   notes   列的第五个字符开始寻找 "wonderful "。第三个示例显示了当   expression2   内找不到   expression1   时的结果集。

USE   pubs
GO
SELECT   CHARINDEX( 'wonderful ',   notes)
FROM   titles
WHERE   title_id   =   'TC3218 '
GO

--   Use   the   optional   start_location   parameter   to   start   searching  
--   for   wonderful   starting   with   the   fifth   character   in   the   notes
--   column.
USE   pubs
GO
SELECT   CHARINDEX( 'wonderful ',   notes,   5)
FROM   titles
WHERE   title_id   =   'TC3218 '
GO

下面是第一个查询和第二个查询的结果集:

-----------  
46                    

(1   row(s)   affected)

USE   pubs
GO
SELECT   CHARINDEX( 'wondrous ',   notes)
FROM   titles
WHERE   title_id= 'TC3218 '
GO

下面是结果集。
-----------  
0                    

(1   row(s)   affected)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: SQL Server的CHARINDEX函数是用来查找一个字符串中某个子字符串的位置的函数。它的语法如下: CHARINDEX ( expressionToFind , expressionToSearch [ , start_location ] ) 其中,expressionToFind是要查找的子字符串,expressionToSearch是要在其中查找的字符串,start_location是可选的,表示从哪个位置开始查找。如果找到了子字符串,则返回它在字符串中的位置,否则返回。 ### 回答2: SQL Server中的CHARINDEX函数是字符串函数之一。该函数返回字符串中要查找的字符或子字符串的位置,如果未找到,则返回零。 CHARINDEX函数的语法如下: CHARINDEX(要查找的字符串, 被查找的字符串, 开始查找的位置) 其中,第一个参数是要查找的字符串,第二个参数是被查找的字符串,第三个参数是可选的,表示从被查找的字符串的哪个位置开始查找。 CHARINDEX函数返回的是要查找的字符串在被查找的字符串中的起始位置。如果要查找的字符串在被查找的字符串中出现多次,则返回第一次出现的位置。 以下是使用CHARINDEX函数的示例: -- 查找字符串中的子字符串 SELECT CHARINDEX('world', 'hello world') -- 返回7 -- 查找子字符串在字符串中的位置 SELECT CHARINDEX('o', 'hello world', 5) -- 返回7 -- 如果未找到,则返回0 SELECT CHARINDEX('abc', 'hello world') -- 返回0 CHARINDEX函数可以被用于许多情况。例如,可以在数据库中使用它来查找表格中的某些特定字符或子字符串。此外,由于该函数的功能较强大,还可以在编写存储过程中使用它来检查特定字符串的存在并执行相应的操作。 总之,CHARINDEX函数SQL Server中的一个非常有用的函数,可以帮助开发人员在大多数情况下轻松地查找和处理特定字符串。 ### 回答3: SQL Server的CharIndex函数用于返回指定字符串在源字符串中的位置。如果查找到指定字符串,则返回该字符串的第一个字符在源字符串中的位置。如果未找到,则返回0。以下是CharIndex函数的语法: CHARINDEX(searchString, sourceString, startPosition) 参数说明: - searchString:要查找的字符串。 - sourceString:要查找的源字符串。 - startPosition:指定从源字符串的哪个位置开始查找。可选参数,默认值为1。 示例: SELECT CHARINDEX('o', 'hello world') -- 返回值为 5 以上示例中,CharIndex从“hello world”中查找第一个出现“o”的位置,返回5。 使用CharIndex函数时,需要注意以下几点: - CharIndex区分大小写。如果要忽略大小写,可以使用Upper或Lower函数将源字符串和待查找字符串转换为大写或小写。 - 查找到的位置是指从左到右的第几个字符。如果要从右到左进行查找,可以使用PATINDEX函数。 - 如果使用CharIndex函数查找多个字符串的位置,需要多次调用该函数。 总的来说,CharIndex函数SQL Server中一个非常有用的字符串函数,可以方便地进行字符串位置的查找和处理。在实际应用中,可以使用它来解析数据、替换字符串等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值