问题描述
大家好,
在JSON数组访问和正常列有问题,如下所示,
如何在单个查询中访问它,以及我们需要在选择列表中显示的列顺序。
请帮帮忙。
提前谢谢。
谢谢
马诺。
在JSON数组访问和正常列有问题,如下所示,
(Reports : [( 'reportname': 'abc', 'Sort order':'abc', 'sortlabel':'name', 'columns' :[ ( 'component' : 'q_test1', 'column_order' : '1' ), ( 'component' : 'q_test2', 'column_order' : '2' )] )])
如何在单个查询中访问它,以及我们需要在选择列表中显示的列顺序。
请帮帮忙。
提前谢谢。
谢谢
马诺。
专家解答
最简单的方法通常是点符号,例如
但是你有很多不同的选择。有关示例和说明,请参见此处
https://docs.oracle.com/database/121/ADXDB/json.htm#ADXDB6246
https://docs.oracle.com/database/121/SQLRF/functions091.htm#SQLRF56718
https://docs.oracle.com/database/121/SQLRF/functions092.htm#SQLRF56973
https://docs.oracle.com/database/121/SQLRF/functions093.htm#SQLRF56668
SQL> create table t ( j varchar2(1000), constraint chk check ( j is json )); Table created. SQL> SQL> insert into t values (' 2 {Reports : 3 [{ "reportname": "abc", 4 "Sort order":"abc", 5 "sortlabel":"name", 6 "columns" :[ { "component" : "q_test1", 7 "column_order" : "1" 8 }, 9 { "component" : "q_test2", 10 "column_order" : "2" 11 }] 12 }]}'); 1 row created. SQL> SQL> select 2 t.j.Reports."reportname" n, 3 t.j.Reports."Sort order" s, 4 t.j.Reports."columns"."component" c 5 from t t; N S C ------------------------------ ------------------------------ --------------------------- abc abc ["q_test1","q_test2"] 1 row selected.
但是你有很多不同的选择。有关示例和说明,请参见此处
https://docs.oracle.com/database/121/ADXDB/json.htm#ADXDB6246
https://docs.oracle.com/database/121/SQLRF/functions091.htm#SQLRF56718
https://docs.oracle.com/database/121/SQLRF/functions092.htm#SQLRF56973
https://docs.oracle.com/database/121/SQLRF/functions093.htm#SQLRF56668
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。