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
时间: 2025-01-15 00:23:04