Функция SUBSTRING
Функция SUBSTRING вырезает и возвращает
заданное количество символов из строки.
Первым параметром функция принимает поле или строку, вторым параметром - с какой позиции начинать вырезание (нумерация символов начинается с 1), третьим параметром - сколько символов брать.
Третий параметр не является обязательным. Если он не указан, текст будет вырезан с указанной позиции и до конца строки.
Синтаксис
Основной синтаксис:
SELECT SUBSTRING(field, start_position, length) FROM table_name WHERE condition
Альтернативный синтаксис:
SELECT SUBSTRING(field FROM start_position FOR length) FROM table_name WHERE condition
Без указания третьего параметра:
SELECT SUBSTRING(field, start_position) FROM table_name WHERE condition
SELECT SUBSTRING(field FROM start_position) FROM table_name WHERE condition
Таблица для примеров
| id | text |
|---|---|
| 1 | This is the first long text |
| 2 | This is the second long text |
Пример
Давайте вырежем из строки и вернём 6
символов, начиная с 13:
SELECT id, SUBSTRING(text, 13, 6) AS text FROM texts
Результат выполнения кода:
| id | text |
|---|---|
| 1 | first |
| 2 | second |
Запрос можно переписать в следующем виде:
SELECT id, SUBSTRING(text FROM 13 FOR 6) AS text FROM texts
Пример
Давайте вернём всю строку до конца, начиная с тринадцатого символа:
SELECT id, SUBSTRING(text, 13) AS text FROM texts
Результат выполнения кода:
| id | text |
|---|---|
| 1 | first long text |
| 2 | second long text |
Запрос можно переписать в следующем виде:
SELECT id, SUBSTRING(text FROM 13) AS text FROM texts
Смотрите также
-
функцию
MID,
которая также вырезает часть строки -
функцию
SUBSTRING_INDEX,
которая берет часть строки по указанному разделителю