FIELD
Returns the first index of the str
argument in the str1
, str2
, … list, or 0 if it doesn’t exist.
Syntax
FIELD (str, str1, str2, ...)
Remarks
If all arguments are strings, then all arguments are compared as strings. If all arguments are numbers, they are compared as numbers. Otherwise, the arguments are compared as double.
If str
is NULL, the return value is 0 because NULL fails equality comparison with any value.
Arguments
str
: any string or binary objectstr1
,str2
, … : list of strings or binary objects
Return Type
Integer
Example
SELECT FIELD('abra', 'cadabra', 'abra', 'abracadabra'); **** +-------------------------------------------------+ | FIELD('abra', 'cadabra', 'abra', 'abracadabra') | +-------------------------------------------------+ | 2 | +-------------------------------------------------+
Implicit Collation
When character_set_server
is set to utf8
, string literals with characters using 4-byte encoding are implicitly assigned binary collation and processed as a sequence of bytes rather than characters. This implicit conversion to binary collation causes string functions to return unexpected results. To avoid using implicit binary collation, either use explicit type casting or use database columns defined with the utf8mb4
character set.
For more information, refer to Implicit Collation in Special Cases.