查找字符串str1在以分隔符delimiter分隔的字符串str2中的位置,从1开始计数。
命令格式
BIGINT FIND_IN_SET(STRING <str1>, STRING <str2>[, STRING <delimiter>])
参数说明
参数 | 是否必填 | 说明 |
参数 | 是否必填 | 说明 |
str1 | 是 | STRING类型。待查找的字符串。 |
str2 | 是 | STRING类型。以分隔符delimiter分隔的字符串。 |
delimiter | 否 | STRING类型常量。缺省时默认为逗号( |
返回值说明
返回BIGINT类型。返回规则如下:
当str2中无法匹配到str1或str1中包含分隔符delimiter时,返回0。
当str1或str2值为
NULL
时,返回NULL
。
使用示例
示例1:查找字符串
ab
在以逗号(,
)分隔的字符串abc,hello,ab,c
中的位置。命令示例如下。SELECT FIND_IN_SET('ab', 'abc,hello,ab,c') AS pos;
返回结果如下。
+------------+ | pos | +------------+ | 3 | +------------+
示例2:查找字符串
hi
在以逗号(,
)分隔的字符串abc,hello,ab,c
中的位置。命令示例如下。SELECT FIND_IN_SET('hi', 'abc,hello,ab,c') AS pos;
返回结果如下。
+------------+ | pos | +------------+ | 0 | +------------+
示例3:查找字符串
ab
在以下划线(_
)分隔的字符串abc_hello_ab_c
中的位置。命令示例如下。SELECT FIND_IN_SET('ab', 'abc_hello_ab_c', '_') AS pos;
返回结果如下。
+------------+ | pos | +------------+ | 3 | +------------+
示例4:当输入参数
str1
或str2
值为NULL
时,命令示例如下。SELECT FIND_IN_SET(null, 'abc,hello,ab,c') AS pos;
返回结果如下。
+------------+ | pos | +------------+ | NULL | +------------+
相关函数
FIND_IN_SET函数属于字符串函数,更多查找字符串、转换字符串格式的相关函数请参见字符串函数。
该文章对您有帮助吗?
- 本页导读 (1)
- 命令格式
- 参数说明
- 返回值说明
- 使用示例
- 相关函数