Разделить строку с помощью Pattern на новую строку в Postgress - PullRequest
0 голосов
/ 14 апреля 2020

Я использую запрос ниже, чтобы получить вывод, как показано ниже. Я хочу сделать функцию так, чтобы я пропустил эту строку и получил вывод как ожидаемый вывод. Каждые данные в скобках { и } должны отображаться в каждой строке.

Строка: - {$..Properties[*]}-{$..Layer_Index}+{$..Name==Value()}/{$..Properties(Name==True)}

Ожидаемый результат: -

enter image description here

1 Ответ

0 голосов
/ 14 апреля 2020

Для этого можно использовать regexp_matches():

select (regexp_matches(input, '\{(\$[^\}]+)\}', 'g'))[1]

, где input - ваша строка, которую вы хотите проанализировать.

regexp_matches() возвращает несколько совпадений в строке в виде массива , (..)[1] затем выбирает первый элемент этого массива.

Я думаю, что это должно работать и с Postgres 9.2.

Онлайн пример

...