本篇文章小编给大家分享一下Oracle截取JSON字符串内容方法介绍,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看。
Oracle截取JSON字符串内容 ,具体代码如下所示:
CREATE OR REPLACE FUNCTION PLATFROM.parsejsonstr(p_jsonstr varchar2,startkey varchar2,endkey varchar2) RETURN VARCHAR2 IS rtnVal VARCHAR2(1000); FindIdxS NUMBER(2); FindIdxE NUMBER(2); BEGIN if endkey='}' then rtnVal:=substr(p_jsonstr,(instr(p_jsonstr,startkey)+length(startkey) +2) ,(instr(p_jsonstr,endkey,instr(p_jsonstr,startkey))-instr(p_jsonstr,startkey)-length(startkey)-2)); else rtnVal:=substr(p_jsonstr,(instr(p_jsonstr,startkey)+length(startkey) +2) ,(instr(p_jsonstr,endkey,instr(p_jsonstr,startkey))-instr(p_jsonstr,startkey)-length(startkey)-4)); end if; RETURN rtnVal; END parsejsonstr; /
参数说明:
p_jsonstr:目标JSON字符串
startkey:需要截取的JSON内容key值
endkey:目标key的下一个key
举例说明:select parsejsonstr(INFO,'AGE', 'HEIGHT') from TTTT
图为TTTT表中的内容,例子为截取INFO中的AGE信息。