oracle sql查询以逗号格式化数字

时间:2011-01-24 15:31:20

标签: sql oracle

伙计们我想使用oracle sql

以逗号分隔值打印以下数据
696585242087


to 

69,658,524,2087

和小数点相同。

4 个答案:

答案 0 :(得分:27)

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

答案 1 :(得分:20)

请参阅the Oracle docs了解可以对数字格式进行的所有精神错乱。简短版本是您需要“TO_CHAR”函数,并为输出提供格式化字符串:

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

应该做你需要的。

答案 2 :(得分:2)

答案 3 :(得分:2)

采取Dead programmer的更新(2011年1月24日)(问题的原作者)和Amir Pashazadeh的评论(2016年3月5日) ,我们可以使用以下示例获得所需的逗号分隔格式。

  

此代码适用于等于或小于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
;

结果:

enter image description here