Перейти к содержимому
Последнее обновление

ELT

Описание​

Функция ELT возвращает строку по указанному индексу. Отсчёт индексов начинается с 1.

Синтаксис​

ELT(<pos>, <str>[, <str> ...])

Параметры​

ПараметрОписание
<pos>Индекс (начиная с 1). Тип: INT
<str>Список строк. Тип: VARCHAR

Возвращаемое значение​

Возвращает значение типа VARCHAR, представляющее собой строку по указанному индексу.

Особые случаи:

  • Если <pos> меньше 1 или больше количества строк, возвращается NULL
  • Если <pos> равен NULL, возвращается NULL
  • Отсчёт индексов начинается с 1, первая строка имеет индекс 1

Примеры​

  1. Базовое использование: получение 1-й строки
SELECT ELT(1, 'aaa', 'bbb', 'ccc');
+-----------------------------+
| elt(1, 'aaa', 'bbb', 'ccc') |
+-----------------------------+
| aaa |
+-----------------------------+
  1. Получение 2-й строки
SELECT ELT(2, 'aaa', 'bbb', 'ccc');
+-----------------------------+
| elt(2, 'aaa', 'bbb', 'ccc') |
+-----------------------------+
| bbb |
+-----------------------------+
  1. При выходе индекса за допустимые границы возвращается NULL
SELECT ELT(0, 'aaa', 'bbb'), ELT(5, 'aaa', 'bbb');
+----------------------+----------------------+
| elt(0, 'aaa', 'bbb') | elt(5, 'aaa', 'bbb') |
+----------------------+----------------------+
| NULL | NULL |
+----------------------+----------------------+
  1. Обработка значения NULL
SELECT ELT(NULL, 'aaa', 'bbb');
+-------------------------+
| elt(NULL, 'aaa', 'bbb') |
+-------------------------+
| NULL |
+-------------------------+
  1. Если индекс превышает допустимый диапазон, возвращается NULL
SELECT ELT(5, 'aaa', 'bbb', 'ccc');
+-----------------------------+
| elt(5, 'aaa', 'bbb', 'ccc') |
+-----------------------------+
| NULL |
+-----------------------------+
  1. При отрицательном индексе возвращается NULL
SELECT ELT(-1, 'first', 'second');
+----------------------------+
| elt(-1, 'first', 'second') |
+----------------------------+
| NULL |
+----------------------------+
  1. Строка UTF-8
SELECT 
ELT(2, 'Hello', 'ṭṛ', 'Hola');
+-----------------------------------+
| ELT(2, 'Hello', 'ṭṛ', 'Hola') |
+-----------------------------------+
| ṭṛ |
+-----------------------------------+
  1. Обработка пустых строк
SELECT ELT(2, 'first', '', 'third');
+------------------------------+
| elt(2, 'first', '', 'third') |
+------------------------------+
| |
+------------------------------+