我需要给以下数字指定格式:
1234567.89
为
1 234 567.89
我已经尝试过:
select regexp_replace( '1234567.89', '(...)', '\1 ' ) from dual;
但是它从左到右开始计数,并且忽略了小数点。
谢谢。
最诚挚的问候。
答案 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
仅在这种情况下,您需要知道最大的数字是多少。如果可以说,您的最大数字是数百万,请制作格式模型数以十亿计,这样它就可以覆盖确切的位数或更多位数