Функция SUBSTRING
вырезает и возвращает
заданное количество символов из строки.
Первым параметром функция принимает поле или строку, вторым параметром - с какой позиции начинать вырезания (нумерация символов начинается с 1), третьем параметром - сколько символов брать.
Третий параметр не является обязательным. Если он не указан, текст будет вырезан с указанной позиции и до конца строки.
Синтаксис
Первый синтаксис:
SELECT SUBSTRING(поле, откуда_отрезать, сколько_символов_взять) FROM имя_таблицы WHERE условие
Альтернативный синтаксис:
SELECT SUBSTRING(поле FROM откуда_отрезать FOR сколько_символов_взять) FROM имя_таблицы WHERE условие
Третий параметр не обязателен, в этом случае текст будет вырезан с указанной позиции и до конца строки:
SELECT SUBSTRING(поле, откуда_отрезать) FROM имя_таблицы WHERE условие
SELECT SUBSTRING(поле FROM откуда_отрезать) FROM имя_таблицы WHERE условие
Таблицы для примеров
id айди |
text текст |
---|---|
1 | Это первый длинный текст! |
2 | Это второй длинный текст! |
Пример
В данном примере из строки вырезаются и возвращаются
6
символов, начиная с 5
-го:
SELECT id, SUBSTRING(text, 5, 6) as text FROM texts
Результат выполнения кода:
id айди |
text текст |
---|---|
1 | первый |
2 | второй |
Запрос можно переписать в следующем виде:
SELECT id, SUBSTRING(text FROM 5 FOR 6) as text FROM texts
Пример
В данном примере возвращается вся строка до конца, начиная с пятого символа:
SELECT id, SUBSTRING(text, 5) as text FROM texts
Результат выполнения кода:
id айди |
text текст |
---|---|
1 | первый длинный текст! |
2 | второй длинный текст! |
Запрос можно переписать в следующем виде:
SELECT id, SUBSTRING(text FROM 5) as text FROM texts
Смотрите также
-
функцию
MID
,
которая также вырезает часть строки -
функцию
SUBSTRING_INDEX
,
которая берет часть строки по указанному разделителю