PostgreSQL Функция SUBSTRING() с примером регулярного выражения
⚡ Умное резюме
PostgreSQL ПОДСТРОКА extracФункция `ts` возвращает часть строки, используя необязательную начальную позицию и длину, а также сопоставляет текст с регулярным выражением POSIX для извлечения шаблонов, таких как числа или коды.

Что такое PostgreSQL Подстрока?
PostgreSQL Функция substring помогает вам...tracФункция возвращает часть строки. Вместо возврата всей строки, она возвращает только её часть, что полезно для сокращения кода и чтения полей фиксированной ширины.
Синтаксис
PostgreSQL Функция подстроки имеет следующий синтаксис:
substring( string [from starting_position] [for length] )
Параметры
Функция substring использует следующие параметры:
| string | Исходная строка с типом данных varchar, char, string и т. д. |
| Начальная позиция | Необязательный параметр. Он обозначает место, где происходит экс.tracНачнётся ввод строки. Если этот параметр опустить, то...tracНачало строки — с позиции 1, которая является первым символом в строке. |
| Необязательный параметр. Он указывает количество символов, которые необходимо вывести.tracВыведено из строки. Если этот параметр опущен, функция будет работать.tracts от начальной позиции до конца строки. |
Примеры
В этом примере мы хотим показатьtracпервые 4 символа слова Guru99:
SELECT substring('Guru99' for 4);
Команда вернет следующее:
Мы не указали начальную позицию, поэтому бывшаяtracПодстрока начиналась с позиции 1. Было выделено четыре символа.tracted должен вернуть указанный выше результат.
В следующем примере показано, как указать начальную позицию:
SELECT substring('Guru99' from 1 for 4);
Команда вернет следующее:
Мы уточнили, что бывшийtracПодстрока должна начинаться с позиции 1, и из нее должны быть исключены 4 символа.tracТед.
Давайте выйдемtracт 99 из строки Guru99:
SELECT substring('Guru99' from 5);
Команда вернет следующее:
Мы указали начальную позицию равной 5. Поскольку количество символов, которые необходимо вывести,tracТед не был указан, бывшийtracОна дошла до конца струны.
Вот еще один пример:
SELECT substring('Guru99' from 5 for 2);
Команда вернет следующее:
Мы начали extracна позиции 5, и 2 символа были исключены.tracТед.
Рассмотрим таблицу книги, приведенную ниже:
Мы хотим получить приблизительное представление о названии каждой книги. Мы можем, например,tracтолько первые 15 символов из столбца «Имя» таблицы:
SELECT id, SUBSTRING(name, 1, 15 ) AS name_initial FROM Book ORDER BY id;
Команда вернет следующее:
Теперь у нас есть приблизительное представление о названии каждой книги.
Сопоставление подстрок с помощью регулярного выражения SQL
In PostgreSQLвы можете extracПодстрока, соответствующая указанному регулярному выражению POSIX. В данном случае функция substring использует следующий синтаксис:
SUBSTRING(string FROM matching_pattern)
or
SUBSTRING(string, matching_pattern);
Ниже приведено объяснение указанных выше параметров. Строка — это исходная строка, чей тип данных Тип данных — varchar, char, string и так далее. matching_pattern — это шаблон, используемый для поиска в строке.
Примеры
SELECT SUBSTRING ( 'Your age is 22', '([0-9]{1,2})' ) as age;
Команда вернет следующее:
Наша входная строка — «Ваш возраст — 22». В шаблоне мы ищем числовой шаблон; когда он найден, функция подстроки выполняет поиск.tracТам всего два персонажа.
Как сопоставлять подстроки с помощью pgAdmin
Теперь давайте посмотрим, как эти действия выполняются с помощью pgAdmin. Запросы, не требующие базы данных, можно выполнять непосредственно из окна редактора запросов. Просто сделайте следующее:
Шаг 1) Войдите в свою учетную запись pgAdmin.
Шаг 2) В pgAdmin нажмите на значок «Инструмент запросов».
Откроется окно редактора запросов.
Шаг 3) Введите следующий запрос в окне редактора.
SELECT substring('Guru99' for 4);
Шаг 4) Нажмите значок «Выполнить», чтобы выполнить запрос.
Шаг 5) Выполнение запроса завершено. Он должен вернуть следующее:
Пример 2:
SELECT substring('Guru99' from 1 for 4);
Он должен вернуть следующее:
Вот следующий пример:
SELECT substring('Guru99' from 5);
Он должен вернуть следующее:
Пример 3:
SELECT substring('Guru99' from 5 for 2);
Он должен вернуть следующее:
Теперь давайте запустим пример, используя таблицу Book демонстрационной базы данных:
Шаг 1) Войдите в свою учетную запись pgAdmin.
Шаг 2) В левой панели навигации нажмите «Базы данных», затем нажмите «Демоверсия».
Шаг 3) Введите запрос в редакторе запросов:
SELECT id, SUBSTRING(name, 1, 15 ) AS name_initial FROM Book ORDER BY id;
Шаг 4) Нажмите кнопку «Выполнить».
Он должен вернуть следующее:
Теперь у нас есть общее представление о названии каждой книги.
Сопоставление подстрок с помощью регулярного выражения SQL
Чтобы сделать то же самое в pgAdmin, выполните следующие действия:
Шаг 1) Войдите в свою учетную запись pgAdmin.
Шаг 2) Нажмите значок Инструмента запросов.
Откроется окно редактора запросов.
Шаг 3) Введите следующий запрос в окне редактора.
SELECT SUBSTRING ( 'Your age is 22', '([0-9]{1,2})' ) as age;
Шаг 4) Нажмите значок «Выполнить», чтобы выполнить запрос.
Он должен вернуть следующее:
Загрузите базу данных, используемую в этом руководстве.



















