【发布时间】:2019-02-16 05:04:33
【问题描述】:
我需要为以下数字指定格式:
1234567.89
作为
1 234 567.89
我已经试过了:
select regexp_replace( '1234567.89', '(...)', '\1 ' ) from dual;
但它从左到右开始计数,忽略了小数点。
提前致谢。
最好的问候。
【问题讨论】:
标签: sql oracle format oracle-sqldeveloper format-model
我需要为以下数字指定格式:
1234567.89
作为
1 234 567.89
我已经试过了:
select regexp_replace( '1234567.89', '(...)', '\1 ' ) from dual;
但它从左到右开始计数,忽略了小数点。
提前致谢。
最好的问候。
【问题讨论】:
标签: sql oracle format oracle-sqldeveloper format-model
SELECT TO_CHAR(10000,'99G999D99MI',
'NLS_NUMERIC_CHARACTERS = ''. ''
NLS_CURRENCY = '' ') "Amount"
FROM DUAL;
【讨论】:
9G999G999D99MI
你可以这样做
select replace(to_char(1234567.89, '9,999,999,999,999,999.99'), ',', ' ') x from dual
只有在这种情况下,您才需要知道您将拥有的最大数字有多大。如果假设您最大的数字是数百万,则将格式模型设为数十亿,这样它就可以涵盖确切的位数或更多
【讨论】: