簡體   English   中英

從紅移中的 json 列中提取鍵值對

[英]Extract key value pair from json column in redshift

我有一個表mytable ,它以JSON字符串的形式存儲列,其中包含多個鍵值對。 現在,我只想提取與一個鍵對應的特定值。 存儲這些字符串的列是 varchar 數據類型,並創建為:
insert into mytable(empid, json_column) values (1,'{"FIRST_NAME":"TOM","LAST_NAME":"JENKINS", "DATE_OF_JOINING":"2021-06-10", "SALARY":"1000" }').

如您所見, json_column是通過僅插入一個字符串來創建的。 現在,我想做類似的事情:
select json_column.FIRST_NAME from mytable

我只想提取與鍵FIRST_NAME對應的value 雖然我的實際表比這個示例復雜得多,但我無法將這些JSON鍵本身轉換為不同的列。 但是,這個例子清楚地說明了我的問題。 這需要通過 Redshift 完成,請幫助我提出任何寶貴的建議。

使用 Redshift 的 function json_extract_path_text可以輕松解決這個問題,如下:

select json_extract_path_text(json_column, 'FIRST_NAME') from mytable;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM