Redshift regexp_substr - 从JSON类型格式中提取数据

时间:2018-03-21 16:40:16

标签: regex amazon-redshift

非常感谢 - 我在Redshift中有一个字段,提供表格数据:

sockArray2[number]->recv();

我想要做的是将Redshift查询的输出干净地解析为一些列,如:

{\"frequencyCapList\":[{\"frequencyCapped\":true,\"frequencyCapPeriodCount\":1,\"frequencyCapPeriodType\":\"DAYS\",\"frequencyCapCount\":501}]}

我相信我需要使用regexp_subst函数来实现这一点,但我无法弄清楚语法以获得所需的输出:(

预先感谢您的任何帮助, 卡特

1 个答案:

答案 0 :(得分:2)

你去吧

select json_extract_path_text(json_extract_array_element_text(json_extract_path_text(replace('{\"frequencyCapList\":[{\"frequencyCapped\":true,\"frequencyCapPeriodCount\":1,\"frequencyCapPeriodType\":\"DAYS\",\"frequencyCapCount\":501}]}','\\',''),'frequencyCapList'),0),'frequencyCapPeriodCount');

只需用你要提取的每个字符串替换最后一个字符串!