为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】: DM8
【操作系统】:centOS7
【CPU】:
【问题描述】*:
针对JSON数组的查询处理问题:
指定数组下标,则可以查询出数组对应下标对象value值如图:
如果不指定使用星号代替,则查询不出结果,如图:
我想实现的效果为,当数组元素为多条时,可以查询所有元素的value值合并并且以逗号“,”分割,如 1,2这种,达梦有相关处理函数吗?
json_value无法遍历数组元素,json_query可以返回数组形式的查询结果,如果预期对字段有某些详细处理,可以尝试通过json_table来进行构造并组合相应函数实现,例如逗号拼接可使用wm_concat
select wm_concat(myvalue)
from
json_table(‘[{“NAME”:“1”,“VALUE”:“1”},{“NAME”:“2”,“VALUE”:“2”}]’,‘$[*]’
columns (
myname VARCHAR2(10) PATH ‘$.NAME’,
myvalue VARCHAR2(10) PATH ‘$.VALUE’)
);
select JSON_QUERY(‘[{“name”:“1”,“value”:“1”},{“name”:“2”,“value”:“2”}]’,‘$.value’ WITH WRAPPER) from dual;看下能满足要求吗