substring, substr
Описание
Извлекает символы, начиная с указанной позиции, и возвращает подстроку указанной длины.
Синтаксис
VARCHAR substr(VARCHAR str, pos[, len])
Параметры
str: обязательный, строка для извлечения символов. Должно быть значение типа VARCHAR.pos: обязательный, целое число, указывающее начальную позицию. Обратите внимание, что первый символ в строке имеет номер 1, а не 0.- Если
posравно 0, возвращается пустая строка. posможет быть отрицательным целым числом. В этом случае функция извлекает символы, начиная с конца строки. См. Пример 2.- Если позиция, указанная в
pos, выходит за пределы строки, возвращается пустая строка. См. Пример 3.
- Если
len: необязательный, положительное целое число, указывающее количество символов для извлечения.- Если
lenуказан, функция извлекаетlenсимволов, начиная с позиции, указанной вpos. - Если
lenне указан, функция извлекает все символы, начиная с позицииpos. См. Пример 1. - Если
lenпревышает фактическую длину соответствующих символов, возвращаются все соответствующие символы. См. Пример 4.
- Если
Возвращаемое значение
Возвращает значение типа VARCHAR.
Примеры
-- Извлечь все символы, начиная с первого символа "s".
MySQL > select substring("starrockscluster", 1);
+-------------------------------------+
| substring('starrockscluster', 1) |
+-------------------------------------+
| starrocks |
+-------------------------------------+
-- Позиция отрицательная, и отсчет ведется с конца строки.
MySQL > select substring("starrocks", -5, 5);
+-------------------------------+
| substring('starrocks', -5, 5) |
+-------------------------------+
| rocks |
+-------------------------------+
-- Позиция превышает длину строки, и возвращается пустая строка.
MySQL > select substring("apple", 8, 2);
+--------------------------------+
| substring('apple', 8, 2) |
+--------------------------------+
| |
+--------------------------------+
-- Есть 5 соответствующих символов. Длина 9 превышает длину соответствующих символов, и возвращаются все соответствующие символы.
MySQL > select substring("apple", 1, 9);
+--------------------------+
| substring('apple', 1, 9) |
+--------------------------+
| apple |
+--------------------------+
keyword
substring,string,sub