宣言
FIELD(str,str1,str2,str3,...)
説明
戻り値のパラメータ str は、リスト str1, str2, str3, ... 内のインデックス位置(1から始まる位置)を返します。str が見つからない場合、戻り値は0です。
FIELD() のすべてのパラメータが文字列の場合、すべてのパラメータは文字列として比較されます。すべてのパラメータが数値の場合、数値として比較されます。それ以外の場合、パラメータはすべてDOUBLE型として比較されます。
str が NULL の場合、戻り値は0です。これは、NULL はどの値とも等しく比較できないためです。FILED() は ELT() の補数です。
例
obclient> 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