Извлечение текста в скобках из таблицы postgres без создания дополнительного столбца - PullRequest
0 голосов
/ 29 января 2020

Я пытаюсь извлечь текст в скобках из столбца в таблице postgres. Я использую следующую команду. Это создает дополнительный пустой столбец.

       SELECT *, SUBSTRING (col2, '\[(.+)\]') FROM table

Моя таблица выглядит следующим образом:

col1   col2
1      mut(MI_0118)
2      mut(MI_0119)
3      mut(MI_0120)

My desired output is:
col1   col2
1      MI_0118
2      MI_0119
3      MI_0120

Как извлечь текст без создания дополнительного столбца.

Спасибо

Ответы [ 2 ]

1 голос
/ 29 января 2020

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

select col1, substring(col2, '\((.+)\)')
from input

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

0 голосов
/ 29 января 2020

* в операторе SELECT включает все столбцы. Затем вы добавляете еще один безымянный столбец. Если вы сделаете:

SELECT col1, SUBSTRING (col2, '\[(.+)\]') AS col2 FROM table

Это будет ближе к тому, что вы хотите.

...