FIELD
声明
FIELD(str,str1,str2,str3,...)
说明
返回参数 str 在 str1, str2, str3,... 列表中的索引位置(从 1 开始的位置)。在找不到 str 的情况下,返回值为 0。
如果所有的对于 FIELD() 的参数均为字符串,则所有参数均按照字符串进行比较。如果所有的参数均为数字,则按照数字进行比较。否则,参数均按照 DOUBLE 类型进行比较。
如果 str 为 NULL,则返回值为 0,原因是 NULL 不能同任何值进行同等比较。FILED() 是 ELT() 的补数。
示例
SELECT FIELD('abc','abc1','abc2','abc','abc4','abc'), FIELD(NULL, 'null1', NULL);
+-----------------------------------------------+----------------------------+
| FIELD('abc','abc1','abc2','abc','abc4','abc') | FIELD(NULL, 'null1', NULL) |
+-----------------------------------------------+----------------------------+
| 3 | 0 |
+-----------------------------------------------+----------------------------+
1 row in set (0.001 sec)