Создание подстрок строк в PostgreSQL

Sozdanie Podstrok Strok V Postgresql



Бывают случаи, когда вам может потребоваться извлечь определенный раздел (подстроку) из строки. Возможно, вас интересует только данный раздел, и вы хотите исключить другой раздел строки из вывода. Представьте себе случай, когда у вас есть полное имя, такое как «fname lname», в виде одной строки, и вы хотите извлечь из выходных данных только «fname». Для этого вы должны использовать функцию подстроки PostgreSQL. Мы подготовили подробное руководство, включающее примеры, которые помогут вам понять, как создавать подстроки строк в PostgreSQL.

Примеры создания подстрок строк в PostgreSQL

Первое, что мы должны проверить, это синтаксис.

SUBSTRING(строка/имя_столбца, начальная_позиция, длина)

В данном синтаксисе вы можете указать строку, подстроку которой хотите создать, или указать столбец в таблице. Далее вы должны указать позицию в строке, с которой вы хотите, чтобы подстрока начиналась. Наконец, укажите длину подстроки или конечную позицию строки. Давайте приведем несколько примеров, чтобы увидеть это в действии.







Пример 1. Укажите длину подстроки

Когда у вас есть целевая строка, вы можете установить длину подстроки. Например, если у вас есть строка «Linuxhint», и вы хотите создать подстроку как «Linux», выполните следующую команду:



ВЫБЕРИТЕ ПОДСТРОКУ («Linuxhint» FROM 1 FOR 5) КАК имя пользователя;

Мы используем ключевое слово FROM, чтобы указать начальную позицию, и ключевое слово FOR, чтобы указать длину подстроки. «Имя пользователя» — это имя, которое мы даем нашему выводу.



Выполнив команду, мы получаем следующий вывод. Обратите внимание, как на выходе мы получили желаемую подстроку:





Предположим, вы хотите, чтобы подстрока была создана из другой начальной позиции вашей строки. Например, если вы хотите, чтобы в качестве подстроки использовалась «подсказка», просто измените начальную позицию и длину.



Для этого мы выполняем нашу команду следующим образом:

Пример 2. Укажите позицию подстроки

Иногда у вас может быть строка, но вы не знаете точную длину подстроки. Однако вы можете указать, с какой позиции начинать создание подстроки. В выводе отображаются все разделы строки от указанной позиции до конца.

В этом примере у нас есть строка «Hello Linuxhint». Чтобы получить «Linuxhint» в качестве нашей подстроки без указания ее позиции, нам нужно всего лишь указать, в какой позиции мы хотим создать подстроку. В данном случае мы начинаем С позиции 6. Таким образом, наша команда выглядит следующим образом:

ВЫБЕРИТЕ ПОДСТРОКУ («Hello Linuxhint» FROM 6) В качестве имени пользователя;

Пример 3. Укажите начальную и конечную позиции

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

Используя «Hello Linuxhint» в качестве строки, мы можем создать подстроку «Hello Linux» и опустить другие разделы, указав начальную и конечную позиции следующим образом:

SELECT SUBSTRING('Hello Linuxhint', 1, 11) КАК имя пользователя;

В этом случае ключевое слово не требуется, только начальная и конечная позиции.

Пример 4. Работа с таблицей PostgreSQL

Также возможно создать подстроку на основе значений, выбранных вами из определенного столбца таблицы. В нашем примере мы используем таблицу «клиенты».

Допустим, мы нацелены на столбец «cust_email» и хотим создать подстроку, указав длину. У нас была бы следующая команда:

Обратите внимание, что для каждого значения в столбце выходные данные представляют собой подстроку длиной 3 исходной строки.

Давайте обновим таблицу, указав полное имя в столбце имени. Наша новая таблица выглядит следующим образом:

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

Пробел отмечает разделение между именем и фамилией. Таким образом, наша команда проверяет позицию начала пробела в строке. Затем выберите подстроку от первой позиции до места, где она встречается с пробелом.

Мы запускаем нашу команду следующим образом:

SELECT order_id, SUBSTRING(имя FROM 1 FOR POSITION( ‘ ‘ IN name) – 1) AS client_fname FROM клиентов;

Мы выбираем «order_id» и подстроку, и наш вывод выглядит следующим образом:

Вот как вы можете создавать подстроки из строк в таблице PostgreSQL.

Заключение

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