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("selenacluster", 1);
+-------------------------------------+
| substring('selenacluster', 1) |
+-------------------------------------+
| selenacluster |
+-------------------------------------+
-- Извлечь первые 9 символов, начиная с первого символа "s".
MySQL > select substring("selenacluster", 1, 9);
+-------------------------------------+
| substring('selenacluster', 1, 9) |
+-------------------------------------+
| selena |
+-------------------------------------+
-- Позиция отрицательная, отсчёт ведётся с конца строки.
MySQL > select substring("selena", -5, 5);
+-------------------------------+
| substring('selena', -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