格式化bigdecimal sql oracle

时间:2013-06-07 11:34:31

标签: sql oracle formatting

要在oracle下有一个可读的大数字并且为了简化阅读,我正在寻找一种方法来添加空格来获得类似的东西:

213537592384.236 ===> 213 537 592 384.236

我有如上所述的大数字的问题。

提前致谢。

2 个答案:

答案 0 :(得分:3)

您可以将空格用作to_char()的组分隔符,方法是将其指定为第三个参数中的NLS_NUMERIC_CHARACTERS之一。例如:

SQL> select
  2      to_char(213537592384.236,'999G999G999G990D000','NLS_NUMERIC_CHARACTERS = ''. ''')
  3  from
  4      dual;

TO_CHAR(213537592384
--------------------
 213 537 592 384.236

答案 1 :(得分:1)

空格是一个好奇的分隔符,to_char()不直接支持。但是,您可以使用逗号格式化,然后用空格替换逗号:

select replace(to_char(12345678.123, '999,999,999,999,999,999.999'), ',', ' ')
from dual