CHARINDEX

CHARINDEX

说明:

CHARINDEX是一个很简单的函数,返回字符串中指定表达式的起始位置。返回一个INT值。

 

Q:为什么这么简单的函数还要说呢?

A:因为我犯了认识上的错误,导致出现问题。所以特别拿出来说下

语法:

charindex(参数一,参数二,参数三)

参数一:需要查找的字符串

参数二:查找对象

参数三:起始位置(可无)

当时犯的错误:

经过:

select 1

where charindex ('a','cbacaa')=1

由于错误的认为:返回值为1则字段'cbacaa'存在'a'

然后有个同事说应该是:
select 1

where charindex ('d','cbacaa')>-1

其实也是不对的。

最后查了下资料,定义是这样:返回字符串中指定表达式的起始位置。

所以正确的表达式应该是这样:

select 1

where charindex ('d','cbacaa')>-0

教训:必须清楚明了系统函数的定义。

示例:

 

1.select charindex ('a','cbacaa')--返回值:3

2.select charindex ('d','cbacaa')--返回值:0

3.select charindex ('a','cbacaa',4)--返回值:5

4.select charindex ('b','cbacaa',4)--返回值:0


你可能感兴趣的:(返回值,charindex)