Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Regex captura as primeiras palavras antes do caractere posteriormente - oráculo


Você pode usar
SELECT
  TRIM(',' FROM REGEXP_REPLACE('TType=SEND|Status=OK|URL=min://j?_a=3&ver=1.1|day=3',
                '=[^|]+($|\|)', ',')) "TType"    
  FROM DUAL

O REGEXP_REPLACE irá localizar e substituir por uma vírgula todas as ocorrências de um =[^|]+($|\|) padrão que combina
  • = - um = caractere
  • [^|]+ - um ou mais caracteres além de |
  • ($|\|) - qualquer extremidade da string ou | .

Veja uma demonstração on-line .