服务器之家:专注于服务器技术及软件下载分享
分类导航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|数据库技术|

服务器之家 - 数据库 - Oracle - Oracle截取JSON字符串内容的方法

Oracle截取JSON字符串内容的方法

2020-04-12 15:17RapStar Oracle

这篇文章主要介绍了Oracle截取JSON字符串内容 ,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下

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字符串内容的方法

总结

以上所述是小编给大家介绍的Oracle截取JSON字符串内容的方法,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!    

原文链接:https://www.cnblogs.com/rapStar/archive/2019/04/12/10695756.html

延伸 · 阅读

精彩推荐