蟾蜍会截断尾随的“ 0”十进制数字,而不考虑精度

时间:2018-10-24 16:54:43

标签: oracle toad

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

例如:

 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()

1 个答案:

答案 0 :(得分:2)

据我所知,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是您的救星。