НОВИНКА!
Занимательная математика от Трепачёва. Присоединяйтесь к нам!
69 of 150 menu

Функция ELT

Функция ELT выбирает одно из полей по его номеру (нумерация полей с единицы).

Номер поля задается первым параметром, а остальными параметрами задаются имена полей. Выглядит это примерно так: ELT(номер, поле1, поле2, поле2). Если, к примеру, вместо номера передать 1 - то выберется значение поля1, если 2 - значение поля2, если 3 - значение поля 3.

Вместо полей могут быть строки или числа, например, так: ELT(номер, 'строка1', 2, 'строка3'). Можно также комбинировать строки, числа и поля: ELT(номер, 'строка1', 2, поле1).

Если номер меньше, чем 1 или больше, чем число полей, возвращается NULL.

Синтаксис

SELECT ELT(number, value1, value2, value3) FROM table_name WHERE condition

Таблицы для примеров

texts
id field1 field2 field3
1 value1 value2 value3
2 value1 value2 value3
3 value1 value2 value3
texts_num
id field1 field2 field3 number
1 value1 value2 value3 3
2 value1 value2 value3 2
3 value1 value2 value3 1
users
id name birth_date
1 user1 1988-03-01
2 user2 1989-04-02
3 user3 1990-05-03

Пример

Давайте выберем первое значение:

SELECT id, ELT(1, field1, field2, field3) AS elt FROM texts

Результат выполнения кода:

id elt
1 value1
2 value1
3 value1

Пример

Давайте выберем значение по номеру из поля:

SELECT id, number, ELT(number, field1, field2, field3) AS elt FROM texts_num

Результат выполнения кода:

id number elt
1 3 value3
2 2 value2
3 1 value1

Пример

Давайте определим день недели с помощью ELT:

SELECT id, name, birth_date, ELT( DAYOFWEEK(birth_date), 'вс', 'пн', 'вт', 'ср', 'чт', 'пт', 'сб' ) AS day FROM users

Результат выполнения кода:

id name birth_date day
1 user1 1988-03-01 вт
2 user2 1989-04-02 вс
3 user3 1990-05-03 чт

Смотрите также

  • функцию FIELD,
    которая возвращает позицию значения в списке
  • функцию GREATEST,
    которая возвращает наибольшее значение из списка
  • функцию LEAST,
    которая возвращает наименьшее значение из списка
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить