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`;