Для приведенных ниже возможных значений JSON в столбце мне нужно извлечь значение для атрибута CAT Входная таблица
| VALUES |
--------------------------------------------------------------
| {"ANIMALS":"1","DOG":"D1","CAT":"C1"} |
| {"ANIMALS":"2","DOG":"D2","CAT":"C2"} |
| {"ANIMALS":"3","DOG":"D3"} |
| {"ANIMALS":"4","CAT":"C4", "DOG":"D4"} |
--------------------------------------------------------------
ПРИМЕЧАНИЕ. В качестве JSON может быть много других неупорядоченных атрибутов. мог.
Ожидаемый результат
| CAT |
-----------
| C1 |
| C2 |
| NULL |
| C4 |
-----------
Я пытался использовать что-то вроде
SELECT REGEXP_SUBSTR('{"ANIMALS":"1","DOG":"D1","CAT":"C1"}', 'CAT[^,]+') "REGEXPR_SUBSTR" FROM DUAL;
, что дает мне CAT":"C1"}
для вышеупомянутый ввод, который не удовлетворяет моей потребности получить значение.