欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Oracle截取JSON字符串内容

程序员文章站 2022-04-09 17:35:27
参数说明: p_jsonstr:目标JSON字符串 startkey:需要截取的JSON内容key值 endkey:目标key的下一个key 举例说明:select parsejsonstr(INFO,'AGE', 'HEIGHT') from TTTT 图为TTTT表中的内容,例子为截取INFO中 ......
 1 create or replace function platfrom.parsejsonstr(p_jsonstr varchar2,startkey varchar2,endkey varchar2) return varchar2
 2 is
 3   rtnval varchar2(1000);
 4   findidxs number(2);
 5   findidxe number(2);
 6 begin
 7 if endkey='}' then
 8     rtnval:=substr(p_jsonstr,(instr(p_jsonstr,startkey)+length(startkey)  +2)
 9         ,(instr(p_jsonstr,endkey,instr(p_jsonstr,startkey))-instr(p_jsonstr,startkey)-length(startkey)-2));
10 else
11     rtnval:=substr(p_jsonstr,(instr(p_jsonstr,startkey)+length(startkey)  +2)
12         ,(instr(p_jsonstr,endkey,instr(p_jsonstr,startkey))-instr(p_jsonstr,startkey)-length(startkey)-4));
13 end if;
14   return rtnval;
15 end parsejsonstr;
16 /

 参数说明:

    p_jsonstr:目标json字符串

    startkey:需要截取的json内容key值

    endkey:目标key的下一个key

 

  举例说明:select parsejsonstr(info,'age', 'height') from tttt

    图为tttt表中的内容,例子为截取info中的age信息。

      Oracle截取JSON字符串内容