Oracle截取JSON字符串内容 ,具体代码如下所示:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
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信息。
总结
以上所述是小编给大家介绍的Oracle截取JSON字符串内容的方法,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!
原文链接:https://www.cnblogs.com/rapStar/archive/2019/04/12/10695756.html