2011-01-24 51 views

回答

27
SELECT TO_CHAR(696585242087, '99G999G999G9999', 'NLS_NUMERIC_CHARACTERS=",."') 
FROM dual 
16

所有可以为数字格式来完成的疯狂见the Oracle docs。简短的版本是你所需要的“TO_CHAR”功能,并为输出提供一个格式化字符串:

TO_CHAR(col_name, '999,999,999,999') 

应该做你所需要的。

1

服用Dead programmer的更新(24 /月/ 2011)和Amir Pashazadeh(5元/月/ 2016),我们就可以得到想要的逗号分隔格式的注释(问题的原作者)用下面的例子。

此代码适用于具有等于或小于15位的号码,如果 则需要更大的长度,你应该根据 与长度的最大您将管理增加更多的999,999。

SELECT TRIM(TO_CHAR(12345678, '999,999,999,999,999')) ttry FROM DUAL 
UNION ALL 
SELECT TRIM(TO_CHAR( 1234, '999,999,999,999,999')) ttry FROM DUAL 
; 

结果:

TTRY
1,234

SqlDeveloper Example