Подскажите пожалуйста, как обрезать текстовую строку в PostgreSQL?

Необходимо столбец а, пример: ['environment', 'math'] ['649.091', '778.909'] обрезать до следующей квадратной скобки, т.е. основная задача такой столбец разбить на два, в первом - первые квадратные скобки, во втором соответственно вторые


Ответы (1 шт):

Автор решения: Stefanov.sm
select 
  (regexp_matches(theTextToSplit, '^(\[[^\[\]]+\]) *(\[[^\[\]]+\])'))[1],
  (regexp_matches(theTextToSplit, '^(\[[^\[\]]+\]) *(\[[^\[\]]+\])'))[2]
 from ...

Если надо - можно оптимизировать с CTE или CROSS JOIN LATERAL.

→ Ссылка