Cómo capturar la cadena después del "=" en un entorno de línea de valor de la columna utilizando sql de oracle?

0

Pregunta

Tengo una tabla con una columna de tener multi valor de la línea y de cada línea es el tipo de valor de la clave par (separados por el signo = y, probablemente, terminando con nuevos saltos de línea)

Ejemplo de valor en una celda en la columna:

Lista de valor de la clave par
key00=value00 <\n> key01=value01 <\n> key02=value02

Estoy buscando un SQL (Oracle) consulta para encontrar la clave específica (es decir Key01) y mostrarlo en el siguiente formato

CLAVE VALOR
Key01 Value01

Por favor, ayudar.

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

Mejor respuesta

0

Aquí está una opción

Datos de ejemplo:

SQL> select * from test;

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

Subconsulta devuelve la subcadena que comienza con la "clave" del valor (que se pasa como parámetro), mientras que la consulta externa divisiones que subcadena dentro de clave y valor de sí mismos:

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

En otros idiomas

Esta página está en otros idiomas

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