【问题标题】:Extract key value pair from json column in redshift从redshift中的json列中提取键值对
【发布时间】:2021-06-10 02:27:26
【问题描述】:

我有一个表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 完成,如有任何宝贵建议,请帮助我。

【问题讨论】:

    标签: sql json amazon-redshift


    【解决方案1】:

    使用Redshift的json_extract_path_text函数可以轻松解决这个问题,如下:

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

    【讨论】:

      猜你喜欢
      • 2019-02-27
      • 2022-01-16
      • 1970-01-01
      • 1970-01-01
      • 2019-02-05
      • 2016-12-24
      • 2019-10-20
      • 2020-05-03
      • 1970-01-01
      相关资源
      最近更新 更多