首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Oracle JSON_TABLE -查询结果不能填入Varchar(4000)

Oracle JSON_TABLE -查询结果不能填入Varchar(4000)
EN

Stack Overflow用户
提问于 2017-01-12 05:26:18
回答 2查看 1K关注 0票数 1

我有一个关于oracle JSON_TABLE的问题。我正在查询表中CLOB列()中的JSON。下面是我的问题:

代码语言:javascript
复制
select b.jsonvalue
from TB_ABC a, 
json_table(a.json_value, '$[*]' 
columns(
          targett VARCHAR2 PATH '$.target',
          jsonvalue varchar2(4000) FORMAT JSON PATH '$.targetData[*]',
          NESTED PATH '$.targetData[*]' COLUMNS(
            typee VARCHAR2 PATH '$.type'
          )
      )
  ) b

但返回给"jsonvalue“的值大于4000个字符,所以不能用Varchar2填充。

我已经尝试将"jsonvalue“的数据类型更改为CLOB,但JSON_TABLE似乎不支持此数据类型。

我能做些什么来解决这个问题?

EN

回答 2

Stack Overflow用户

发布于 2017-01-12 12:20:32

您是否启用了扩展的VARCHAR语义(也称为VARCHAR2(32k)..

这将允许您返回高达32k的数据。你真的有超过32K数据的价值吗?

票数 0
EN

Stack Overflow用户

发布于 2019-11-05 00:50:47

在语句中,您只需指定VARCHAR2,而不指定任何长度信息。无论MAX_STRING设置如何,这将在内部被解释为VARCHAR2(4000)。如果您想要最大长度,请使用VARCHAR2(32767)代替VARCHAR2。

从12.2开始,对于大于32767的值,还可以使用CLOB或BLOB作为列数据类型。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41600970

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档