遇到的问题--presto---提取json中的数组值为null
情况
我们有数据结构如下:
skuIdsParams:{"skuIds":["123","456"]}
在presto中适⽤语句查询如下:
presto> select skuIdsParams, json_extract_scalar(skuIdsParams,'$.skuIds') from v_event_2 where "$part_date">'2021-04-26' and "$part_event"='VIEW_O RDER_PAGE_EVENT' AND ( POSITION('new/buy/order' IN "router") > 0 ) order by "#event_time" desc;
skuIdsParams | _col1
---------------------------------------+-------
json值的类型有哪些{"skuIds":["123","456"]} | NULL
使⽤json_extract_scalar 提取 json中的数组 获取到的值为null
原因
json_extract_scalar⽤于提取标量值(数字、字符串、布尔值)。
⽽skuIds关联的值是⼀个数组。
解决⽅案
需要使⽤json_extract,json_extract返回⼀个JSON类型的值,其中包含⼀个JSON数字数组,并将其强制转换为SQL数组
把查询语句中的json_extract
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论