更新时间:2023-11-03 GMT+08:00

find_in_set

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');