TO_CHAR函数用于处理十进制格式

时间:2015-02-17 11:08:21

标签: oracle numbers decimal to-char

我有一个带varchar(19,4)的数据列。我如何以适当的十进制格式显示它,例如我想仅显示1000000.0000而不是1000000(需要特定格式的文件处理由第三个paty)。目前我使用TO_CHAR(columnName,'9999999999999999999.9999'),它以预期的格式显示,但我想知道是否有更好的方法,而不是写9次19次!

1 个答案:

答案 0 :(得分:0)

为简化表示法,您可以使用lpad函数,如下所示:

with test as (
  select 1234567890123456789.1234 columnName from dual
  union select -7.12 from dual
  union select 108.0015 from dual
  )
select to_char(columnName, lpad('9', 19, '9')||'.9999') res
  from test

RES
------------------------
                 -7.1200
                108.0015
1234567890123456789.1234