powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Запрос с regex
5 сообщений из 5, страница 1 из 1
Запрос с regex
    #38832833
andrej11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем доброе время суток.
Есть таблица с информацией. В столбце Info находятся номера "Рххх"

IdInfo1 text P1232 text text text P234 text P7863 text 4 text P123 text text

Строки с номерами находятся без проблем:

Код: plsql
1.
2.
3.
SELECT a.id
FROM tabele a
WHERE a.info ~ E'P[0-9][0-9][0-9]';


Id124

Проблема заключается в следующем: Как выдать только номера?
Например:

Id Info1 P1232 P234 P7864 P123

Заранее спасибо за любую информацию.
...
Рейтинг: 0 / 0
Запрос с regex
    #38832839
JeStone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andrej11,
Попробуйте regexp_matches
...
Рейтинг: 0 / 0
Запрос с regex
    #38834344
andrej11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
JeStoneandrej11,
Попробуйте regexp_matches

Код: plsql
1.
SELECT a.id, regexp_matches(a.info, 'P[0-9][0-9][0-9]')


Выведутся строки только с 1 номером:
id info1{P123}2{P234}4{P123}

С параметром 'g':
Код: plsql
1.
SELECT a.id, regexp_matches(a.info, 'P[0-9][0-9][0-9]', 'g')


Будут показаны все номера, но только в новых строках.
id info1{P123}2{P234}2{P786}4{P123}

Как выдать все номера, без дополнительных строк??? Т.е. если в одной строке находятся несколько номеров, то и выдать нужно все номера в одной строке.
...
Рейтинг: 0 / 0
Запрос с regex
    #38834392
Лопата
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andrej11,

помедитируйте на тему
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
WITH tabele(id,info) AS 
(values
(1,'	text P123')
,(2,'	text text text P234 text P786')
,(3,'	text')
,(4,'	text P123 text text ')
)
SELECT a.id, ARRAY(SELECT unnest(regexp_matches(a.info, 'P[0-9][0-9][0-9]', 'g'))) as info_arr
FROM tabele a
...
Рейтинг: 0 / 0
Запрос с regex
    #38834446
andrej11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
лопатаandrej11,

помедитируйте на тему


Огромное спасибо! Медитация удалась на славу.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Запрос с regex
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]