ELT - выбирает одно из полей по его номеру
Функция ELT
выбирает одно из полей
по его номеру (нумерация полей с единицы).
Номер поля задается первым параметром, а
остальными параметрами задаются имена полей.
Выглядит это примерно так: ELT(номер,
поле1, поле2, поле2)
. Если, к примеру,
вместо номера передать 1 - то выберется значение
поля1, если 2 - значение поля2, если 3 -
значение поля 3
.
Вместо полей могут быть строки или числа,
например, так: ELT(номер, 'строка1', 2, 'строка3')
. Можно также
комбинировать строки, числа и поля: ELT(номер, 'строка1', 2, поле1)
.
Если номер меньше, чем 1
или больше,
чем число полей, возвращается NULL.
SELECT ELT(число, поле1, поле2...) FROM `имя_таблицы`; -- возможно применение операторов
В данном примере с помощью ELT
выбирается
содержимое первого поля из таблицы:
SELECT id, ELT(1, field1, field2, field3) as elt FROM `texts`;
В данном примере с помощью ELT
выбирается
содержимое второго поля из таблицы:
SELECT id, ELT(2, field1, field2, field3) as elt FROM `texts`;
В данном примере с помощью ELT
выбирается
содержимое третьего поля из таблицы:
SELECT id, ELT(3, field1, field2, field3) as elt FROM `texts`;
В данном примере из таблицы с помощью
ELT
выбирается содержимое поля, номер которого
задан полем number
:
SELECT id, number, ELT(number, field1, field2, field3) as elt FROM `texts_num`;
В данном примере из таблицы с помощью
ELT
и функции DAYOFWEEK
выводится день недели по-русски:
SELECT *, ELT(DAYOFWEEK(date), 'вс', 'пн', 'вт', 'ср', 'чт', 'пт', 'сб') as day FROM `users`;