在Redshift中查询JSON数组?

时间:2016-09-30 20:34:42

标签: json amazon-redshift

您是否能够在Redshift JSON列中查询数组中的字段?

我有以下JSON:

{"sort_details":[{"sort_by":"name","order":"asc"}]}

是否可以查询低于Redshift中最高级别元素的任何内容?我尝试过使用

json_extract_path_text( myjson , 'sort_details' , 'sort_by' ) 

但得到了一个空行。我猜这是一个数组,并且可以想象每个记录返回多个结果,这可能是不可能的。

2 个答案:

答案 0 :(得分:4)

您可以使用嵌套的JSON函数:

json_extract_path_text(
    json_extract_array_element_text(
        json_extract_path_text( 
            myjson, 
            'sort_details'
        ), 
        0
    ), 
    'sort_by'
)

答案 1 :(得分:0)

JSON_EXTRACT_PATH_TEXT(myjson, 'sort_details', 0, 'sort_by')

这也可以,但是未在AWS Doc中记录