Como buscar cadeia depois de "=" em uma linha multi valor de coluna usando o oracle sql?

0

Pergunta

Eu tenho uma tabela com uma coluna com multi valor de linha e cada linha é uma espécie de chave par de valores (separados pelo sinal de = e, provavelmente, terminando com novas quebras de linha)

Exemplo de valor em uma célula na coluna:

Lista de par de valor-chave
key00=value00 <\n> key01=value01 <\n> key02=value02

Eu estou olhando para um SQL (Oracle) consulta para encontrar a chave específico (digamos Key01) e exibi-lo no seguinte formato

CHAVE VALOR
Key01 Value01

Por favor, ajuda.

oracle sql
2021-11-24 05:28:58
1

Melhor resposta

0

Aqui está uma opção

Dados de exemplo:

SQL> select * from test;

        ID COL
---------- --------------------------------------------------
         1 key00=value00
           key01=value01
           key02=value02

Subconsulta retorna subseqüência de caracteres que começa com o valor "chave" (passado como parâmetro), enquanto consulta externa divide a subcadeia de caracteres em chave e valor em si:

SQL> select regexp_substr(str, '^\w+') key,
  2         regexp_substr(str, '\w+$') value
  3  from (select regexp_substr(col, '&par_key=\w+') str
  4        from test
  5       );
Enter value for par_key: key01

KEY             VALUE
--------------- ---------------
key01           value01

SQL>
2021-11-24 07:13:22

Em outros idiomas

Esta página está em outros idiomas

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................