Как получить строку из массива JSON, хранящегося в столбце Amazon Redshift? - PullRequest
0 голосов
/ 04 февраля 2019

У меня есть база данных, хранящаяся в Amazon Redshift, а массив хранится в столбце таблицы в формате JSON.

Как извлечь строку из массива?

Ответы [ 2 ]

0 голосов
/ 05 февраля 2019

Используя json_extract_path_text, вы можете извлечь значения из столбца В базе данных Redshift у меня есть JSON в одном столбце
Этот запрос выполняет объединение и для получения результатов отдельных столбцов.

SELECT json_extract_path_text(O._doc,'domain') AS Domain, 
       json_extract_path_text(P._doc,'email') AS Email
FROM   intelligense_mongo.organisations AS O
INNER JOIN    intelligense_mongo.people AS P
ON  json_extract_path_text(O._doc,'_id') = 
    json_extract_path_text(P._doc,'organisation_id')
Where 
json_extract_path_text(O._doc,'tools_name') = '%"WordPress"%'
0 голосов
/ 04 февраля 2019

Используйте функцию JSON_EXTRACT_PATH_TEXT :

select json_extract_path_text('{"f2":{"f3":1},"f4":{"f5":99,"f6":"star"}}','f4', 'f6');

json_extract_path_text
---------------------- 
star 
...