Oracle 12c (12.1 と NOT 12.2 の SQL クエリの下にあります。したがって、 JSON_OBJECT_T は使用できません)。最初の列 (key_str など) を ABC、DEF などの値で出力し、2 番目の列 (val_str など) を 123、456 などとして出力する必要があります。ただし、これを行うための Oracle Json 式を思いつくことができません。誰かが私がする必要があることを指摘できますか? 私はすでに多くの順列の組み合わせを試しましたが、それは役に立ちませんでした.
with json as
( select '{
"ABC": "123",
"DEF": "456",
"GHI": "789" }' doc
from dual
)
select key_str
, val_str
FROM json_table( (select doc from json) , '$'
COLUMNS ( key_str PATH '$[0]'
, val_str PATH '$[1]'
)
)