vertica提取json字段值
Posted 卡卡西村长的小灶
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vertica提取json字段值相关的知识,希望对你有一定的参考价值。
json字符串的内容如下:
[{"stockName":"阳光照明","stockProfit":"5500.0000","stockCode":"600261"},{"stockName":"京 运 通","stockProfit":"6664.5000","stockCode":"601908"}]
通过regexp_substr和regexp_instr函数来提取stockcode字段值,返回前3个值。SQL如下:
select substr(regexp_substr(f1, ‘stockCode":"(w)+‘), 13) as code1, (case when regexp_instr(f1, ‘stockCode":"(w)+‘) > 0 then substr(regexp_substr(f1, ‘stockCode":"(w)+‘, regexp_instr(f1, ‘stockCode":"(w)+‘) + 1), 13) else null end) as code2, (case when regexp_instr(f1, ‘stockCode":"(w)+‘) > 0 and regexp_instr(f1, ‘stockCode":"(w)+‘, regexp_instr(f1, ‘stockCode":"(w)+‘) + 1) > 0 then substr(regexp_substr(f1, ‘stockCode":"(w)+‘, regexp_instr(f1, ‘stockCode":"(w)+‘, regexp_instr(f1, ‘stockCode":"(w)+‘) + 1) + 1), 13) else null end) as code3 from t1
以上是关于vertica提取json字段值的主要内容,如果未能解决你的问题,请参考以下文章
从特定 JSON 字段中提取数据,将其用作变量,并更新字段值?
jmeter--正则提取json串中一个大括号对象里指定字段值的的另一个字段的值