刚使用Oracle不久,求助各位关于Oracle 12c JSON_TABLE功能
表 FRUIT 有个column CONTENT是clob,存的Json数据,类似以下
"Fruit": [{
"Type": "apple",
"Id": 12345,
"Code": "AP_12345",
"Type": "apple"
             },
             {
               "Type": "pear",
"Id": 23456,
"Code": "PE_23456",
"Type": "pear"             }]代码:
SELECT 
FR.*
FROM FRUIT ,
JSON_TABLE(CONTENT,'$.Fruit[*]'
COLUMNS (Code VARCHAR2(10) PATH '$.Code ',
                    Id VARCHAR2(10) PATH '$.Id',
                    Type VARCHAR2(10) PATH '$.Type '
)) AS FR                 
;
跑出结果 Type字段为空,是不是由于Type有两条的原因?在不能改数据的前提下,有什么解决放法?

解决方案 »

  1.   

    SELECT FR.*
      FROM FRUIT,
           JSON_TABLE(CONTENT,
                      '$' COLUMNS(NESTED PATH '$[*]' COLUMNS(Code VARCHAR2(10) PATH '$.Code ',
                              Id VARCHAR2(10) PATH '$.Id',
                              Type VARCHAR2(10) PATH '$.Type '))) AS FR;用我发的这个sql吧。