无论精度如何,Toad 都会截断尾随“0”的十进制数字

Toad truncates trailing "0" decimal digits regardless of precision

我正在使用 Toad 12.6 for Oracle,当我尝试提取数据类型为 Decimal(5,2) 的字段时,Toad 会截断 a 末尾任何尾随 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 truncating/rounding 数据的话题,通过告诉它不要用科学记数法显示大数字来解决这个问题。

有没有我还没有找到的设置会强制 Toad 显示这些尾随数字的精度?我希望每次我想显示统一结果时不必手动输入数字字段(to_char()to_number())。

据我所知,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 的编辑器 window 并按 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就是你的救星