我在 Oracle 12c 中有以下 SQL 查询(12.1 而不是 12.2。所以我不能使用 JSON_OBJECT_T)。我需要打印第一列(比如 key_str),其值为 ABC、DEF 等,而第二列(比如 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]'
)
)