Comment extraire de la chaîne après le "=" dans un multi en ligne de la valeur de la colonne à l'aide de oracle sql?

0

La question

J'ai une table avec une colonne ayant des valeur de la ligne et chaque ligne est une sorte de valeur de la clé de la paire (séparés par le signe = et probablement se terminant avec de nouveaux sauts de ligne)

Exemple de valeur dans une cellule de la colonne:

Liste des valeur de la clé de paire
key00=value00 <\n> key01=value01 <\n> key02=value02

Je suis à la recherche d'un SQL (Oracle) requête pour trouver la clé spécifique (dire Key01) et de l'afficher dans le format suivant

CLÉ VALEUR
Key01 Value01

S'il vous plaît aider.

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

La meilleure réponse

0

Voici une option

Les données de l'échantillon:

SQL> select * from test;

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

Sous-requête retourne une sous-chaîne qui commence avec la "clé" de la valeur (passé en paramètre), tandis que la requête externe fractionnements qui sous-chaîne dans la clé et la valeur en elles-mêmes:

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

Dans d'autres langues

Cette page est dans d'autres langues

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