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

STRLEFT

Описание​

Функция STRLEFT возвращает указанное количество символов из начала строки. Длина измеряется в символах UTF8.

Псевдоним​

LEFT

Синтаксис​

STRLEFT(<str>, <len>)

Параметры​

ПараметрОписание
<str>Строка, из которой извлекаются символы. Тип: VARCHAR
<len>Количество возвращаемых символов. Тип: INT

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

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

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

  • Возвращает NULL, если хотя бы один аргумент равен NULL
  • Возвращает пустую строку "", если значение len меньше или равно 0
  • Возвращает всю строку, если len превышает длину строки

Примеры​

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

Ключевые слова​

STRLEFT, LEFT