Подстрока PostgreSQL получает строку между скобками
у меня есть строка, скажем:
Product Description [White]
Я хочу извлечь что-нибудь внутри скобок (в этом случае White
) из этой строки, используя функцию подстроки PostgreSQL. Я могу заставить это работать, используя regexp_matches
, но это возвращает массив, который я не хочу, если у меня нет другого выбора.
Я пробовал:
-
substring('string' from '[(.)]')
> > > NULL -
substring('string' from '[(.)]')
> > > NULL -
substring('string' from '[(.)]')
>>> Значение null
но это работает:
-
substring('string' from 'W(.)i]')
> > > h
что я делаю не так?
2 ответов
(.)
соответствует только одному символу, но вы хотите, чтобы соответствовать нескольким символам там.
вам нужно (.+)
substring('Product Description [White]' from '\[(.+)\]')
Я думаю, вы хотите обновить какое-то значение, как класс оплаты от шкалы оплаты или любой вещи просто использовать следующий запрос
обновление master.тарифная сетка Установите grade_pay= случай, когда описание, Например " % ( % )%", затем(выберите подстроку (описание из' ((.+ )) ')) другое описание End:: numeric