Что такое PostgreSQL Substring?
Функция подстроки PostgreSQL помогает вам извлечь и вернуть часть строки. Вместо того, чтобы возвращать всю строку, он возвращает только ее часть.
В этом уроке по PostgreSQL вы узнаете:
- Что такое подстрока Postgresql?
- Синтаксис
- Примеры
- Сопоставление подстрок с регулярным выражением SQL
- Использование pgAdmin
Синтаксис
Функция подстроки PostgreSQL имеет следующий синтаксис:
substring( string [from starting_position] [for length] )
параметры
имя | Описание |
строка | Исходная строка с типом данных varchar, char, string и т. Д. |
Начальная позиция | Это необязательный параметр. Обозначает место, где начнется извлечение строки. Если вы пропустите этот параметр, извлечение начнется с позиции 1, которая является первым символом в строке. |
длина | Это необязательный параметр. Он обозначает количество символов, которые будут извлечены из строки. Если вы пропустите этот параметр, функция будет извлекаться из начального_позиции до конца строки. |
Примеры
В этом примере мы хотим извлечь первые 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 символа были извлечены.
Рассмотрим таблицу Book, приведенную ниже:
Мы хотим получить приблизительное представление о названии каждой книги. Однако мы можем извлечь только первые 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) Щелкните значок Query Tool.
Откроется окно редактора запросов.
Шаг 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)
- На панели навигации слева нажмите Базы данных.
- Нажмите Демо.
Шаг 3) Введите запрос в редакторе запросов:
SELECT id, SUBSTRING(name, 1, 15 ) AS name_initial FROM Book ORDER BY id;
Шаг 4) Нажмите кнопку «Выполнить».
Он должен вернуть следующее:
Теперь у нас есть основная идея названия каждой книги.
Сопоставление подстрок с регулярным выражением SQL
Чтобы сделать то же самое на pgAdmin, сделайте следующее:
Шаг 1) Войдите в свою учетную запись pgAdmin.
Шаг 2) Щелкните значок Query Tool.
Откроется окно редактора запросов.
Шаг 3) Введите следующий запрос в окне редактора.
SELECT SUBSTRING ( 'Your age is 22', '([0-9]{1,2})' ) as age;
Шаг 4) Щелкните значок «Выполнить», чтобы выполнить запрос.
Он должен вернуть следующее:
Резюме:
- Функция PostgreSQL Substring помогает извлекать и возвращать только часть строки.
- Первый символ строки находится в позиции 1.
- Если количество символов, извлекаемых из строки, не указано, функция извлечет символы из указанной начальной позиции до конца строки.
- Если указано количество извлекаемых символов, будет извлечено только это количество символов.
Загрузите базу данных, использованную в этом руководстве