Oracle sql kullanarak çok satırlı bir sütun değerinde "=" den sonra dize nasıl getirilir?

0

Soru

Çok satırlı değere sahip bir sütuna sahip bir tablom var ve her satır bir tür anahtar değer çifti (=işareti ile ayrılmış ve muhtemelen yeni satır sonlarıyla biten)

Sütundaki bir hücredeki örnek değer:

Anahtar değer çifti listesi
key00 = değer00 < \ n> key01 = değer01 < \ n><\n > key02 = değer02

Belirli anahtarı (Key01 diyelim) bulmak ve aşağıdaki biçimde görüntülemek için bir SQL (Oracle) sorgusu arıyorum

ANAHTAR değer
Anahtar01 Değer01

Lütfen yardım edin.

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

En iyi cevabı

0

İşte bir seçenek

Örnek veriler:

SQL> select * from test;

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

Alt sorgu, "anahtar" değeriyle (parametre olarak geçirilen) başlayan alt dizeyi döndürürken, dış sorgu bu alt dizeyi anahtar ve değere böler:

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

Diğer dillerde

Bu sayfa diğer dillerde

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