我的json对象是CLOB数据格式的pl/sql,现在我需要将每个数据字段分别从json对象获取到varchar变量。不使用pljson。
发布于 2015-02-05 11:35:04
最简单的方法是使用第三方库,如果您使用Oracle多达11。对我来说,一个很好的库是普利森,它可以处理CLOBs,但可能还有其他库。
使用Oracle 12c,您可以通过SQL本地解析JSON;这是12c的一个很好的新特性。
更新:
一个非常简单和粗糙的方法是使用regexp_substr函数从CLOB/VARCHAR2 2中提取一个专用密钥,如下所示:
REGEXP_SUBSTR(T.JOSN_CLOB, '\s*"*(key1)"*\s*:\s*"(.*)"', 1, 1, 'im', 2)在哪里key1是你对木块感兴趣的关键。这可能不太快,正则表达式可能更专业,但您可以提取简单的值。
另一种方法是检查pljson包并重命名通过APEX SQL讲习班安装导致问题的部分,或者用适当的JSON库编写JAVA存储过程/函数,并通过PL/SQL或SQL中的包装器函数调用该函数。
https://stackoverflow.com/questions/28342331
复制相似问题