在SQL中查询json字典数据
表中的My CLOB字段包含JSON,如下所示:在SQL中查询json字典数据,sql,oracle,Sql,Oracle,表中的My CLOB字段包含JSON,如下所示: {"a":"value1", "b":"value2", "c":"value3"} key|value ---|------ a |value1 b |value2 c |value3 我正在尝试编写一个SQL查询,以返回一个包含键和值字段的表,如下所示: {"a":"value1", "b":"value2", "c":"value3"} key|value ---|------ a |value1 b |value2 c
{"a":"value1", "b":"value2", "c":"value3"}
key|value
---|------
a |value1
b |value2
c |value3
我正在尝试编写一个SQL查询,以返回一个包含键和值字段的表,如下所示:
{"a":"value1", "b":"value2", "c":"value3"}
key|value
---|------
a |value1
b |value2
c |value3
任何帮助都将不胜感激 如果希望值以行而不是列的形式显示,请使用JSON_表,然后取消PIVOT:
挑选*
从…起
选择p*
来自表\u name t
交叉连接
JSON_表
t、 价值观,
'$'
柱
路径“$.a”,
b路径“$.b”,
c路径“$.c”
P
为a、b、c中的键取消Pivot值;
因此,对于一些示例数据:
创建表名
值CLOB约束确保_json检查值为json
;
在表_name中插入值“{a:value1,b:value2,c:value3}”;
这将产生:
然后:
选择get_键j.pos,t.value作为键,
j、 价值观
来自表\u name t
交叉应用JSON_表
t、 价值观,
'$.*'
柱
对于普通性,
值路径“$”
J
产出:
小提琴