比尔云BierYun--阿里云最新优惠活动
阿里云优惠码丨阿里云代金券

Oracle截取JSON字符串内容

Oracle截取JSON字符串内容

 

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信息。

原文地址https://www.cnblogs.com/rapStar/p/10695756.html

未经允许不得转载:阿里云代金券 » Oracle截取JSON字符串内容

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

强烈推荐

高性能SSD云服务器ECS抗攻击,高可用云数据库RDS