首页 > 解决方案 > 无论精度如何,Toad 都会截断尾随的“0”十进制数字

问题描述

我正在使用 Toad 12.6 for Oracle,当我尝试提取数据类型为 的字段时Decimal(5,2),Toad 会截断数字末尾任何尾随0小数位的小数点。

例如:

 expected -> toad actual 
 5.40     ->  5.4    *incorrect
 1.34     ->  1.34   *correct
 10.24    ->  10.24  *correct
 30.07    ->  30.07  *correct

当数字太大时,有很多关于 Toad 截断/舍入数据的线程,这可以通过告诉它不要用科学记数法显示大数字来解决。

是否有一个我尚未找到的设置将强制 Toad 显示这些尾随数字达到精确度?每次我想显示统一的结果时,我都不必手动转换数字字段(to_char()或),我将不胜感激。to_number()

标签: oracletoad

解决方案


据我所知,TOAD 中没有这样的设置。

如果它是SQL*Plus,你会使用SET命令,例如

SQL> set numformat 999G990D00
SQL> with test (col) as
  2    (select 5.40 from dual union all
  3     select 1.34 from dual
  4    )
  5  select col from test;

        COL
-----------
       5,40
       1,34

SQL>

TOAD 不是 SQL*Plus。但是,如果您将其(字面意思)放入 TOAD 的编辑器窗口并按F5 ,您将在其输出选项卡中获得所需的结果:

set numformat 999G990D00

with test (col) as
  (select 5.40 from dual union all
   select 1.34 from dual
  )
select col from test;

结果将是

        COL
-----------
       5,40
       1,34

2 rows selected.

只是为了强调:

  • 按 F5,而不是 F9、Shift+F9、Ctrl+Enter - 不;按F5
  • 结果未显示在“数据网格”选项卡中(但“输出”选项卡中)

你很有可能不喜欢这种方法。在那种情况下,我相信那TO_CHAR是你的救星。


推荐阅读