ORACLE 将json数组转成表


json_table使用

  • 方式一
SELECT 
FR.*
FROM dual ,
JSON_TABLE('[{"name":"hziwei", "age": 13},{"name":"hziwei", "age": 15}]','$[*]'
COLUMNS ( name VARCHAR2(10) PATH '$.name',
                     age VARCHAR2(10) PATH '$.age'
)) AS FR where age > 13;

  • 方式二
SELECT 
FR.*
FROM dual ,
JSON_TABLE('{"data": [{"name":"hziwei", "age": 13},{"name":"hziwei", "age": 15}]}','$.data[*]'
COLUMNS (name VARCHAR2(10) PATH '$.name',
                     age NUMBER PATH '$.age'
)) AS FR         
;

  • 从表中的json数组字段转换为表

表结构 表名:TEST

SELECT 
FR.*
FROM TEST,
JSON_TABLE(CONTENT,'$[*]'
COLUMNS ( name VARCHAR2(10) PATH '$.name',
           age NUMBER PATH '$.age'
)) AS FR         
;


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM