PostgreSQL Функция SUBSTRING() с примером регулярного выражения

Что такое PostgreSQL Подстрока?

PostgreSQL Функция substring помогает вам...tracФункция возвращает часть строки. Вместо того чтобы возвращать всю строку целиком, она возвращает только её часть.

Синтаксис

PostgreSQL Функция подстроки имеет следующий синтаксис:

substring( string [from starting_position] [for length] )

Параметры

Имя Описание
string Исходная строка с типом данных varchar, char, string и т. д.
Начальная позиция Это необязательный параметр. Он обозначает место, где происходит экс.tracНачнётся ввод строки. Если этот параметр опустить, то...tracНачало ввода будет отсчитываться с позиции 1, то есть с первого символа в строке.
Это необязательный параметр. Он обозначает количество символов, которые необходимо вывести.tracВыведено из строки. Если вы опустите этот параметр, функция выполнитtract от начальной позиции до конца строки.

Примеры

В этом примере мы хотим показатьtracпервые 4 символа слова Guru99:

SELECT substring('Guru99' for 4);

Команда вернет следующее:

PostgreSQL Substring

Мы не указали начальную позицию, поэтому бывшаяtracПодстрока начинается с позиции 1. Было использовано 4 символа.tracted вернуть вышеуказанное.

В следующем примере показано, как указать начальную позицию:

SELECT substring('Guru99' from 1 for 4);

Команда вернет следующее:

PostgreSQL Substring

Мы уточнили, что бывшийtracПодстрока должна начинаться с позиции 1, и из нее должны быть исключены 4 символа.tracТед.

Давайте выйдемtracт 99 из строки Guru99:

SELECT substring('Guru99' from 5);

Команда вернет следующее:

PostgreSQL Substring

Мы указали начальную позицию равной 5. Поскольку количество символов, которые необходимо вывести,tracТед не был указан, бывшийtracОна дошла до конца струны.

Вот еще один пример:

SELECT substring('Guru99' from 5 for 2);

Команда вернет следующее:

PostgreSQL Substring

Мы начали эксtracна позиции 5, и 2 символа были исключены.tracТед.

Рассмотрим таблицу книги, приведенную ниже:

PostgreSQL Substring

Мы хотим получить приблизительное представление о названии каждой книги. Однако мы можем...tracтолько первые 15 символов из столбца «Имя» таблицы:

SELECT
   id,
   SUBSTRING(name, 1, 15 ) AS name_initial
FROM
   Book
ORDER BY
   id;

Команда вернет следующее:

PostgreSQL Substring

Теперь у нас есть приблизительное представление о названии каждой книги.

Сопоставление подстрок с помощью регулярного выражения SQL

In PostgreSQL, мы можем extracФункция substring использует подстроку, соответствующую заданному регулярному выражению POSIX. В данном случае функция substring используется со следующим синтаксисом:

SUBSTRING(string FROM matching_pattern)

or

SUBSTRING(string, matching_pattern);

Вот объяснение вышеуказанных параметров:

Строка — это исходная строка, чья тип данных это varchar, char, string и т. д.

Match_pattern — это шаблон, который будет использоваться для поиска в строке.

Примеры

SELECT
   SUBSTRING (
      'Your age is 22',
      '([0-9]{1,2})'
   ) as age;

Команда вернет следующее:

Сопоставление подстрок с помощью регулярного выражения SQL

Наша входная строка — «Ваш возраст — 22». В шаблоне мы ищем числовой шаблон в нашей строке; если он найден, функция подстроки должна только...tracдва персонажа.

Как сопоставить подстроки с помощью pgAdmin

Теперь посмотрим, как выполняются действия с помощью pgAdmin.

Вышеупомянутые запросы, для которых нам не нужна база данных, можно выполнить непосредственно из окна редактора запросов. Просто сделайте следующее:

Шаг 1) Войдите в свою учетную запись.
Войдите в свою учетную запись pgAdmin.

Шаг 2) В pgAdmin,
Нажмите значок Инструмента запросов.

Сопоставление подстрок с помощью pgAdmin

Откроется окно редактора запросов.

Шаг 3) Введите запрос.
Введите следующий запрос в окне редактора.

SELECT substring('Guru99' for 4);

Шаг 4) Выполнить запрос
Нажмите значок «Выполнить», чтобы выполнить запрос.

Сопоставление подстрок с помощью pgAdmin

Шаг 5) Выполнение запроса завершено.
Он должен вернуть следующее:

Сопоставление подстрок с помощью pgAdmin

Пример 2:

SELECT substring('Guru99' from 1 for 4);

Он должен вернуть следующее:

Сопоставление подстрок с помощью pgAdmin

Вот следующий пример:

SELECT substring('Guru99' from 5);

Он должен вернуть следующее:

Сопоставление подстрок с помощью pgAdmin

Пример 3:

SELECT substring('Guru99' from 5 for 2);

Он должен вернуть следующее:

Сопоставление подстрок с помощью pgAdmin

Теперь давайте запустим пример, используя таблицу Book демонстрационной базы данных:

Шаг 1) Войдите в свою учетную запись pgAdmin.

Шаг 2)

  1. На панели навигации слева нажмите «Базы данных».
  2. Нажмите Демо.

Сопоставление подстрок с помощью pgAdmin

Шаг 3) Введите запрос в редакторе запросов:

SELECT
   id,
   SUBSTRING(name, 1, 15 ) AS name_initial
FROM
   Book
ORDER BY
   id;

Шаг 4) Нажмите кнопку «Выполнить».

Сопоставление подстрок с помощью pgAdmin

Он должен вернуть следующее:

PostgreSQL Substring

Теперь у нас есть общее представление о названии каждой книги.

Сопоставление подстрок с помощью регулярного выражения SQL

Чтобы сделать то же самое в pgAdmin, выполните следующие действия:

Шаг 1) Войдите в свою учетную запись pgAdmin.

Шаг 2) Нажмите значок Инструмента запросов.

Сопоставление подстрок с помощью регулярного выражения SQL

Откроется окно редактора запросов.

Шаг 3) Введите следующий запрос в окне редактора.

SELECT
   SUBSTRING (
      'Your age is 22',
      '([0-9]{1,2})'
   ) as age;

Шаг 4) Нажмите значок «Выполнить», чтобы выполнить запрос.

Сопоставление подстрок с помощью регулярного выражения SQL

Он должен вернуть следующее:

Сопоставление подстрок с помощью регулярного выражения SQL

Резюме

  • PostgreSQL Функция substring помогает, например,tracвозвращает только часть строки.
  • Первый символ строки находится на позиции 1.
  • Если количество символов, которое необходимо вывестиtracЕсли значение из строки не указано, функция выполнит действие.tract символов от указанной начальной позиции до конца строки.
  • Если количество символов, которое необходимо вывестиtracЕсли указано значение "ted", будет отображено только это количество символов.tracТед.

Загрузите базу данных, используемую в этом руководстве.

Подведем итог этой публикации следующим образом: