SQL Server中提供了一个charindex()方法用于查找一个字符/字符串在另一个字符/字符串中的位置。
语法
charindex(expressionToFind, expressionToSearch[, start_location])
参数
expressionToFind:目标字符串,就是想要找到的字符/字符串,最大长度为8000 。
expressionToSearch:用于被查找的字符/字符串。
start_location:开始查找的位置,为空时默认从第一位开始查找。为零或为负数,都按一开始计算查找位置。
返回值
返回值是被查找的字符/字符串在目标字符/字符串中出现的位置,从1开始计算查找位置(非下标,是实际的位置)。如果没找到匹配的字符/字符串位置,返回0。
简单示例
select charindex(‘a‘, ‘yanggb‘, 1); -- 2
经典应用
select case when charindex(‘yanggb1‘, ‘yanggb1,yanggb2,yanggb3‘) <> 0 then 1 else 0 end has_permission; -- 1
"太久没见的人,会慢慢的,连想念也没有。"