18c与19c上的Oracle编号问题
需要确认以下两个Oracle版本上数字数据类型的行为(18c vs 19c) 在18c中18c与19c上的Oracle编号问题,oracle,numbers,sqldatatypes,oracle18c,oracle19c,Oracle,Numbers,Sqldatatypes,Oracle18c,Oracle19c,需要确认以下两个Oracle版本上数字数据类型的行为(18c vs 19c) 在18c中 从dual中选择cast(0.003856214813393653)作为数字(20,18); --输出 0.00385621481339365 19世纪 从dual中选择cast(0.003856214813393653)作为数字(20,18); --输出 0.003856214813393653 为什么18c的最后一个数字会被截断 这是版本的问题吗 Plus 18c似乎无法处理超过17的缩放值。这
从dual中选择cast(0.003856214813393653)作为数字(20,18);
--输出
0.00385621481339365
19世纪
从dual中选择cast(0.003856214813393653)作为数字(20,18);
--输出
0.003856214813393653
为什么18c的最后一个数字会被截断
这是版本的问题吗
Plus 18c似乎无法处理超过17的缩放值。这是客户机设置而不是数据库的一时兴起。例如,我在同一个数据库上运行了所有这些
SQL Plus
========
SQL> select cast(0.003856214813393653 as number(20,18)) from dual;
CAST(0.003856214813393653ASNUMBER(20,18))
-----------------------------------------
.003856215
SQL Developer
=============
select cast(0.003856214813393653 as number(20,18)) from dual;
0.003856214813393653
SQLcl
======
SQL> select cast(0.003856214813393653 as number(20,18)) from dual;
CAST(0.003856214813393653ASNUMBER(20,18))
-----------------------------------------
.00385621481
客户端工具决定显示的精度这与Oracle/PLSQL开发人员工具设置问题有关。请尝试使用以下选项来解决相同问题 工具->首选项->SQL窗口->要添加字符的数字字段
无法在Oracle 18c上复制您的输出我也无法在我的18c XE实例上获得断言的输出。您确定这不是客户端显示问题吗?您使用哪个工具执行查询?