oracle plsql如何检查数字是否有小数点

时间:2016-09-20 09:39:46

标签: oracle toad

刚开始使用toad ide与oracle合作。尝试以特定格式格式化表格中的数字。数字来自表中的变量,我想将整数显示为整数,并将浮点数显示为浮点数。到目前为止,我可以使用trim(TO_CHAR(width,'999.999'))来显示带小数点的所有数字。

例如:123.5将显示为123.500,100将显示为100.000

我想要做的是显示例如:100为100

希望这很清楚,我很快就会得到一个解决方案。

提前致谢

1 个答案:

答案 0 :(得分:1)

如果您的问题与Toad显示数字的方式有关,您可以按照评论中的提示进行操作。

如果问题与Oracle显示数字的方式有关,将它们转换为字符串,这可能会有所帮助:

SQL> select to_char(1.5, 'TM9') as num from dual union all
  2  select to_char(100, 'TM9') from dual;

NUM
----------------------------------------------------------------
1,5
100

您可以在documentation

中找到更多内容

如果您需要一种方法来检查数字是否包含小数部分,您可以尝试:

SQL> with numbers(num) as (
  2        select 1.5 from dual union all
  3        select 100 from dual
  4      )
  5  select case
  6          when floor(num) = num
  7              then to_char(num, 'FM999999') || ' has not a decimal part'
  8          else
  9              to_char(num, 'FM9999D000') || ' has a decimal part'
 10         end as checkString
 11  from numbers;

CHECKSTRING
------------------------------
1,500 has a decimal part
100 has not a decimal part