MariaDB FIND_IN_SET() 函数使用指南
在 MariaDB 中,FIND_IN_SET()
函数返回给定的值在指定字符串列表中出现的索引位置。
FIND_IN_SET()
函数与 FIELD()
函数类似,不同的是 FIELD()
中的列表是由多个参数组成的。
MariaDB FIND_IN_SET()
语法
这里是 MariaDB FIND_IN_SET()
函数的语法:
FIND_IN_SET(value, string_list)
参数说明
value
- 必须的。这是要搜索的字符串。
string_list
- 必须的。这是一个使用逗号分隔的字符串列表。
如果您没有提供参数或者提供了 1 个参数, MariaDB 将报告错误:ERROR 1582 (42000): Incorrect parameter count in the call to native function ‘FIND_IN_SET’。
返回值
如果在 string_list
找到 value
,FIND_IN_SET()
函数将返回第一次匹配的位置索引。
如果在 string_list
中找不到 value
, FIND_IN_SET()
函数将返回 0
。
如果 value
为 NULL
,FIND_IN_SET()
函数将返回 NULL
。
如果 string_list
为空字符串,则 FIND_IN_SET()
函数将返回 0
。
如果 string_list
为 NULL
,则 FIND_IN_SET()
函数将返回 NULL
。
MariaDB FIND_IN_SET()
示例
基本示例
如果你需要知道 'A'
在列表 A,B,C
中的位置,可以使用如下语句:
SELECT FIND_IN_SET('A', 'A,B,C');
输出:
+---------------------------+
| FIND_IN_SET('A', 'A,B,C') |
+---------------------------+
| 1 |
+---------------------------+
查找数值
您也可以查找一个数值,如下:
SELECT FIND_IN_SET(1, '3,2,1');
输出:
+-------------------------+
| FIND_IN_SET(1, '3,2,1') |
+-------------------------+
| 3 |
+-------------------------+
不区分大小写
SELECT FIND_IN_SET('a', 'A,B,C');
输出:
+---------------------------+
| FIND_IN_SET('a', 'A,B,C') |
+---------------------------+
| 1 |
+---------------------------+
无匹配
如果没有匹配项, FIND_IN_SET()
函数将返回 0
。
SELECT FIND_IN_SET('D', 'A,B,C');
输出:
+---------------------------+
| FIND_IN_SET('D', 'A,B,C') |
+---------------------------+
| 0 |
+---------------------------+
结论
在 MariaDB 中,FIND_IN_SET()
函数返回给定的值在指定字符串列表中第一次出现的索引位置。