Ako fetch string po "=" v multi riadok stĺpec hodnotu pomocou oracle sql?

0

Otázka

Mám tabuľku s stĺpca s multi line hodnoty a každý riadok je druh hodnotu kľúča pár (oddelené = prihláste sa a pravdepodobne končí nové zlomy)

Napríklad hodnoty v jednej bunky v stĺpci:

Zoznam kľúčových hodnota spárovať
key00=value00 <\n> key01=value01 <\n> key02=value02

Hľadám SQL (Oracle) dotaz nájsť špecifické kľúčové (povedzme Key01) a zobrazí ho v nasledujúcom formáte

KĽÚČ HODNOTA
Key01 Value01

Prosím, pomôžte.

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

Najlepšiu odpoveď

0

Tu je jedna možnosť

Vzorové údaje:

SQL> select * from test;

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

Poddotaz vráti substring, ktoré začína na "kľúč" hodnotou (postúpené ako parameter), zatiaľ čo vonkajší dopyt rozdelí, že substring do kľúč a hodnotu sami:

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

V iných jazykoch

Táto stránka je v iných jazykoch

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