#json #amazon-redshift
#json #amazon-redshift
Вопрос:
Можете ли вы запросить поле внутри массива в столбце JSON с красным смещением?
У меня есть следующий JSON:
{"sort_details":[{"sort_by":"name","order":"asc"}]}
Возможно ли запросить что-либо ниже элемента самого высокого уровня в Redshift? Я пробовал использовать
json_extract_path_text( myjson , 'sort_details' , 'sort_by' )
но получил обратно нулевую строку. Я предполагаю, что, будучи массивом и предположительно возвращая несколько результатов для каждой записи, это может быть невозможно.
Ответ №1:
Вы могли бы использовать вложенные функции JSON:
json_extract_path_text(
json_extract_array_element_text(
json_extract_path_text(
myjson,
'sort_details'
),
0
),
'sort_by'
)
Ответ №2:
JSON_EXTRACT_PATH_TEXT(myjson, 'sort_details', 0, 'sort_by')
Это также работает, но это не задокументировано в документе AWS