Come recuperare la stringa dopo "=" un multi-linea, colonna valore di utilizzo di oracle sql?

0

Domanda

Ho una tabella con una colonna multi linea valore e ogni riga è una specie di chiave di coppia di valori (separati dal segno = e, probabilmente, per finire con nuove interruzioni di riga)

Esempio valore in una cella della colonna:

Elenco di coppia chiave-valore
key00=value00 <\n> key01=value01 <\n> key02=value02

Sto cercando un SQL (Oracle) query per trovare la chiave specifica (dire Key01) e visualizzato nel seguente formato

CHIAVE VALORE
Key01 Value01

Si prega di aiutare.

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

Migliore risposta

0

Ecco una opzione

Dati di esempio:

SQL> select * from test;

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

Subquery restituisce la sottostringa che inizia con la "chiave" di valore (passato come parametro), mentre query esterna divisioni che sottostringa in chiave e il valore di se stessi:

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

In altre lingue

Questa pagina è in altre lingue

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