我有一个这样的查询:
select json_serialize(data) from mytable
其中data是包含JSON的列,但我从json_serialize返回null。这是个窃听器吗?
json_serialize
null
ix0qys7i1#
默认情况下,json_serialize返回VARCHAR2(4000)。参见:https://docs.oracle.com/en/database/oracle/oracle-database/19/adjsn/oracle-sql-function-json_serialize.html当返回的JSON文本超过4000字节时,将被视为错误条件。但是,JSON_SERIALIZE的默认错误行为是NULL ON ERROR。尝试添加RETURNING CLOB:
VARCHAR2(4000)
RETURNING CLOB
select json_serialize(data returning clob) from mytable
1条答案
按热度按时间ix0qys7i1#
默认情况下,
json_serialize
返回VARCHAR2(4000)
。参见:https://docs.oracle.com/en/database/oracle/oracle-database/19/adjsn/oracle-sql-function-json_serialize.html
当返回的JSON文本超过4000字节时,将被视为错误条件。但是,JSON_SERIALIZE的默认错误行为是NULL ON ERROR。
尝试添加
RETURNING CLOB
: