0

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

4

1 回答 1

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
于 2015-02-17T12:32:13.377 回答