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