Oracle截取JSON字符串内容 ,具体代码如下所示:
CREATE OR REPLACE FUNCTION get\_valus(p\_jsonstr varchar2,startkey varchar2) RETURN VARCHAR2
IS
rtnVal VARCHAR2(1000);
FindIdxS NUMBER(2);
FindIdxE NUMBER(2);
BEGIN
if substr(p\_jsonstr,(instr(p\_jsonstr,startkey)+length(startkey) +2),(instr(p\_jsonstr,',',instr(p\_jsonstr,startkey))-instr(p\_jsonstr,startkey)-length(startkey)-2)) is not null
then
rtnVal:=substr(p\_jsonstr,(instr(p\_jsonstr,startkey)+length(startkey) +2)
,(instr(p\_jsonstr,',',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,'}',instr(p\_jsonstr,startkey))-instr(p\_jsonstr,startkey)-length(startkey)-2));
end if;
RETURN rtnVal;
END get\_valus;
参数说明:
p_jsonstr:目标JSON字符串
startkey:需要截取的JSON内容key值
例句
SELECT t.id,t.ext1,get_valus(t.ext1,‘FullAccountName’) FROM table_name t
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




