ITPub博客

首页 > 数据库 > Oracle > [20191104]sqlplus下显示数据精度2.txt

[20191104]sqlplus下显示数据精度2.txt

原创 Oracle 作者:lfree 时间:2019-11-04 10:38:09 0 删除 编辑

[20191104]sqlplus下显示数据精度2.txt

--//以前写的链接如下:
http://blog.itpub.net/267265/viewspace-2284458/=>[20181207]sqlplus下显示数据精度.txt
--//才发现自己分析有误,实际上sqlplus缺省最大显示宽度占10个字符,是这个问题导致一些精度被截取.
--//通过例子说明:

1.环境:

SCOTT@book> @ ver1
PORT_STRING                    VERSION        BANNER
------------------------------ -------------- --------------------------------------------------------------------------------
x86_64/Linux 2.4.xx            11.2.0.4.0     Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production

2.测试:
SCOTT@book> show numwidth
numwidth 10

SCOTT@book> select sum(AMOUNT_SOLD),count(*) from sh.sales;
SUM(AMOUNT_SOLD)   COUNT(*)
---------------- ----------
      98205831.2     918843

--//98205831.2正好占用10个字符.实际以上sum精确结果是98205831.21,设置numwidth=11看看.

SCOTT@book> set numw 11
SCOTT@book> select sum(AMOUNT_SOLD),count(*) from sh.sales;
SUM(AMOUNT_SOLD)     COUNT(*)
---------------- ------------
     98205831.21       918843

SCOTT@book> select 0.0000000000000000000123456789012 from dual ;
0.0000000000000000000123456789012
---------------------------------
                      1.23457E-20

--//显示输出占11个字符

SCOTT@book> set numw 10
SCOTT@book> select 0.0000000000000000000123456789012 from dual ;
0.0000000000000000000123456789012
---------------------------------
                       1.2346E-20

--//这个问题是一些细节问题,工作中应该引起注意.在toad下只要在
--//Data Grids    Display large numbers in Scientific Notation前面的勾不选上,基本没有问题,不受显示宽度限制.

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/267265/viewspace-2662467/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
熟悉oracle相关技术,擅长sql优化,rman备份与恢复,熟悉linux shell编程。

注册时间:2008-01-03

  • 博文量
    4006
  • 访问量
    7969561