find_in_set函数用于查找字符串str1在以逗号(,)分隔的字符串str2中的位置,从1开始计数。
命令格式
find_in_set(string <str1>, string <str2>)
参数说明
表1 参数说明 | 参数 | 是否必选 | 参数类型 | 说明 |
| str1 | 是 | STRING | 待查找的字符串。 |
| str2 | 是 | STRING | 以逗号(,)分隔的字符串。 |
返回值说明
返回BIGINT类型的值。
- 当str2中无法匹配到str1或str1中包含逗号(,)时,返回0。
- 当str1或str2值为NULL时,返回NULL。
示例代码
- 查找字符串ab在字符串abc,123,ab,c中的位置。命令示例如下。
返回3。
select find_in_set('ab', 'abc,123,ab,c'); - 查找字符串hi在字符串abc,123,ab,c中的位置。命令示例如下。
返回0。
select find_in_set('hi', 'abc,123,ab,c'); - 任一输入参数为NULL。命令示例如下。
返回NULL。
select find_in_set(null, 'abc,123,ab,c');