我对pljson_util_pkg.sql_to_json有个问题
declare
-- Local variables here
tstjson_list pljson_list;
l_Result_json_clob clob;
begin
-- Test statements here
tstjson_list := pljson_list();
dbms_lob.createtemporary(l_Result_json_clob, true);
tstjson_list := pljson_util_pkg.sql_to_json('SELECT 0.1 as tmp from dual');
tstjson_list.to_clob(l_Result_json_clob);
end;当我执行此代码时,收到以下输入的错误消息:扫描仪问题:{“ROWSET”:{“ROW”:{“TMP”:.1}
看起来,如果值小于1,则会出现此错误,因为不是0.1,而是.1!知道为什么吗?
谢谢你,佐兰
发布于 2018-06-04 20:01:36
已关门,抱歉
我认为原因在于oracle如何处理xml中的数字...
如果你尝试这样做:
select xmlelement("tmp",0.1) from dual你也会得到同样的结果。
因此,为了实现您的gol,只需通过to_char函数格式化数字:
select xmlelement("tmp",to_char(0.1,'FM0.00')) from dual再见,尼古拉
https://stackoverflow.com/questions/47261895
复制相似问题