如何在数字之间添加空格(货币)-Oracle格式

时间:2019-02-16 05:04:33

标签: sql oracle format oracle-sqldeveloper format-model

我需要给以下数字指定格式:

1234567.89

1 234 567.89

我已经尝试过:

select regexp_replace( '1234567.89', '(...)', '\1 ' ) from dual;

但是它从左到右开始计数,并且忽略了小数点。

谢谢。

最诚挚的问候。

2 个答案:

答案 0 :(得分:0)

SELECT TO_CHAR(10000,'99G999D99MI',
           'NLS_NUMERIC_CHARACTERS = ''. ''
           NLS_CURRENCY = '' ') "Amount"
           FROM DUAL;

答案 1 :(得分:0)

您可以这样做

select replace(to_char(1234567.89, '9,999,999,999,999,999.99'), ',', ' ')  x from dual

仅在这种情况下,您需要知道最大的数字是多少。如果可以说,您的最大数字是数百万,请制作格式模型数以十亿计,这样它就可以覆盖确切的位数或更多位数