3
我在AWS Redshift數據庫中有一個字段varchar(65000)
列,用於存儲JSON字符串。 JSON鍵/值對經常更改,我需要能夠運行每日報告以從列中檢索所有鍵/值數據。查詢AWS Redshift中的JSON字符串
例如:
create table test.json(json varchar(65000));
insert into test.json
select '{"animal_id": 1, "name": "harry", "animal_type": "cat", "age": 2, "location": "oakland"}' union
select '{"animal_id": 2, "name": "louie","animal_type": "dog", "age": 4}' union
select '{"animal_id": 3, "gender": "female"}' union
select '{"animal_id": 4, "size": "large"}' ;
通過上述數據,我可以寫下面的查詢來獲取我知道是有屬性但如果一個新的屬性,明天加入,我的報告的查詢不會拿起新鍵/值對。有什麼辦法可以在此表上執行SELECT *
類型的查詢嗎?
SELECT
json_extract_path_text(JSON,'animal_id') animal_id,
json_extract_path_text(JSON,'name') name,
json_extract_path_text(JSON,'animal_type') animal_type,
json_extract_path_text(JSON,'location') location,
json_extract_path_text(JSON,'age') age,
json_extract_path_text(JSON,'gender') gender,
json_extract_path_text(JSON,'size') size
FROM test.json
ORDER BY animal_id;
感謝您的回答GuiSim,這是很好的知道。選項B將爲我所需要的:)工作 – fez