Последнее обновление
STRLEFT
Описание
Функция STRLEFT возвращает указанное количество символов из начала строки. Длина измеряется в символах UTF8.
Псевдоним
LEFT
Синтаксис
STRLEFT(<str>, <len>)
Параметры
| Параметр | Описание |
|---|---|
<str> | Строка, из которой извлекаются символы. Тип: VARCHAR |
<len> | Количество возвращаемых символов. Тип: INT |
Возвращаемое значение
Возвращает значение типа VARCHAR, представляющее извлечённую подстроку.
Особые случаи:
- Возвращает NULL, если хотя бы один аргумент равен NULL
- Возвращает пустую строку "", если значение len меньше или равно 0
- Возвращает всю строку, если len превышает длину строки
Примеры
- Простое извлечение символов слева
SELECT STRLEFT('Hello doris', 5), LEFT('Hello doris', 5);
+---------------------------+----------------------+
| STRLEFT('Hello doris', 5) | LEFT('Hello doris', 5) |
+---------------------------+----------------------+
| Hello | Hello |
+---------------------------+----------------------+
- Разная длина извлекаемых подстрок
SELECT STRLEFT('Hello World', 3), STRLEFT('Hello World', 8);
+----------------------------+----------------------------+
| STRLEFT('Hello World', 3) | STRLEFT('Hello World', 8) |
+----------------------------+----------------------------+
| Hel | Hello Wo |
+----------------------------+----------------------------+
- Обработка значений NULL
SELECT STRLEFT(NULL, 5), STRLEFT('Hello doris', NULL);
+------------------+------------------------------+
| STRLEFT(NULL, 5) | STRLEFT('Hello doris', NULL) |
+------------------+------------------------------+
| NULL | NULL |
+------------------+------------------------------+
- Пустая строка и нулевая длина
SELECT STRLEFT('', 5), STRLEFT('Hello World', 0);
+------------------+----------------------------+
| STRLEFT('', 5) | STRLEFT('Hello World', 0) |
+------------------+----------------------------+
| | |
+------------------+----------------------------+
- Обработка отрицательной длины
SELECT STRLEFT('Hello doris', -5), STRLEFT('Hello doris', -1);
+-----------------------------+----------------------------+
| STRLEFT('Hello doris', -5) | STRLEFT('Hello doris', -1) |
+-----------------------------+----------------------------+
| | |
+-----------------------------+----------------------------+
- Длина превышает длину строки
SELECT STRLEFT('ABC', 10), STRLEFT('short', 20);
+--------------------+----------------------+
| STRLEFT('ABC', 10) | STRLEFT('short', 20) |
+--------------------+----------------------+
| ABC | short |
+--------------------+----------------------+
- Многобайтовые символы UTF-8
SELECT STRLEFT('ṭṛì ḍḍumai hello', 3), STRLEFT('ṭṛì ḍḍumai hello', 7);
+---------------------------------+----------------------------------+
| STRLEFT('ṭṛì ḍḍumai hello', 3) | STRLEFT('ṭṛì ḍḍumai hello', 7) |
+---------------------------------+----------------------------------+
| ṭṛì | ṭṛì ḍḍu |
+---------------------------------+----------------------------------+
- Префикс номера и ID
SELECT STRLEFT('ID123456789', 5), STRLEFT('USER_987654321', 5);
+----------------------------+------------------------------+
| STRLEFT('ID123456789', 5) | STRLEFT('USER_987654321', 5) |
+----------------------------+------------------------------+
| ID123 | USER_ |
+----------------------------+------------------------------+
Ключевые слова
STRLEFT, LEFT