我在 oracle 中有一個將值存盤在鍵中的列。舉個例子——
| 列名 |
|---|
| ((key1="value1" AND key2='value1') OR (key1="value1" AND key2='value2')) |
| ((key1="null" AND key2='value3') OR (key1="value1" AND key2='value4')) |
我只想在 OR 子句之前提取 key2 的值??(因為該列的每一行都有 2 個 key2)
預期結果:
| 列名 | 價值 |
|---|---|
| ((key1="value1" AND key2='value1') OR (key1="value1" AND key2='value2')) | 價值1 |
| ((key1="null" AND key2='value3') OR (key1="value1" AND key2='value4')) | 價值3 |
有人可以大致告訴我如何做到這一點嗎?
uj5u.com熱心網友回復:
假設我們可以將您的邏輯描述為提取第一個 key2值,我們可以嘗試使用REGEXP_SUBSTR捕獲組:
SELECT col, REGEXP_SUBSTR(col, 'key2=''(.*?)''', 1, 1, NULL, 1) AS key
FROM yourTable;
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/467499.html
標籤:sql 甲骨文 oracle11g oracle-sqldeveloper
上一篇:為什么查詢中的游標不能與“with”陳述句一起使用?
下一篇:Oracle-值更改的天數
