PostgreSQL SUBSTRING () с примером

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

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

В этом руководстве по PostgreSQL вы узнаете:

Синтаксис

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

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

Параметры

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

Примеры

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

 SELECT substring('Guru99' for 4); 

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

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

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

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

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

Мы указали, что извлечение подстроки должно начинаться с позиции 1 и извлекать 4 символа.

Извлечем 99 из строки Guru99:

 SELECT substring('Guru99' from 5); 

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

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

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

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

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

Мы начали извлечение с позиции 5, и было извлечено 2 символа.

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

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

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

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

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

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

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

 SUBSTRING(string FROM matching_pattern) 

или

 SUBSTRING(string, matching_pattern); 

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

Строка - это исходная строка с типом данных varchar, char, string и т. Д.

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

Примеры:

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

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

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

Использование pgAdmin

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

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

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

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

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

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

 SELECT substring('Guru99' for 4); 

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

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

Пример 2:

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

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

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

 SELECT substring('Guru99' from 5); 

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

Пример 3:

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

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

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

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

Шаг 2)

  1. На панели навигации слева нажмите «Базы данных».
  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) Щелкните значок «Выполнить», чтобы выполнить запрос.

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

Резюме:

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

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