Функция FIELD
Функция FIELD ищет заданное значение
среди переданных аргументов и возвращает
его порядковый номер (нумерация начинается
с единицы). Искомое значение передается
первым параметром, а значения, среди которых
выполняется поиск, - последующими параметрами.
Вместо полей могут использоваться строки
или числа. Если значение не найдено,
возвращается 0.
Синтаксис
SELECT FIELD(value, value1, value2, ...) FROM table_name WHERE condition
Таблицы для примеров
| id | field1 | field2 | field3 |
|---|---|---|---|
| 1 | string1 | string2 | string3 |
| 2 | string3 | string2 | string1 |
| 3 | string2 | string1 | string3 |
Пример
Давайте найдём порядковый номер поля,
содержащего значение 'string1':
SELECT *, FIELD('string1', field1, field2, field3) AS number FROM texts
Результат выполнения SQL запроса:
| id | field1 | field2 | field3 | number |
|---|---|---|---|---|
| 1 | string1 | string2 | string3 | 1 |
| 2 | string3 | string2 | string1 | 3 |
| 3 | string2 | string1 | string3 | 2 |