Функция SUBSTRING

Функция SUBSTRING вырезает и возвращает заданное количество символов из строки.

Первым параметром функция принимает поле или строку, вторым параметром - с какой позиции начинать вырезания (нумерация символов начинается с 1), третьем параметром - сколько символов брать.

Третий параметр не является обязательным. Если он не указан, текст будет вырезан с указанной позиции и до конца строки.

Синтаксис

Первый синтаксис:

SELECT SUBSTRING(поле, откуда_отрезать, сколько_символов_взять) FROM имя_таблицы WHERE условие

Альтернативный синтаксис:

SELECT SUBSTRING(поле FROM откуда_отрезать FOR сколько_символов_взять) FROM имя_таблицы WHERE условие

Третий параметр не обязателен, в этом случае текст будет вырезан с указанной позиции и до конца строки:

SELECT SUBSTRING(поле, откуда_отрезать) FROM имя_таблицы WHERE условие
SELECT SUBSTRING(поле FROM откуда_отрезать) FROM имя_таблицы WHERE условие

Таблицы для примеров

таблица texts
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,
    которая берет часть строки по указанному разделителю