作者kuasody (小只毛)
看板Database
标题[SQL ] 数字格式化的问题
时间Thu Sep 6 14:17:56 2012
各位先进好
小弟使用Oracle,有个需求要达到以下效果
1.整数每三位要一个千分位(,)符号
2.原本小数几位就印几位(不要固定取几位小数)
例 : 某栏位型态为 DECIMAL(20,6)
资料如下
第一笔 1234.56
第二笔 350
第三笔 123456.789
我利用了 to_char 的语法来写成
SELECT to_char(栏位,'FM999,999,999,999.999999')
FROM
XX_TABLE
但会出现以下结果
第一笔 1234.56
第二笔 350. (多了一点)
第三笔 123456.789
请问该如何排除第二笔多出一点的情形呢? 谢谢哦
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 218.211.164.2
1F:推 waterpeng:想不到...因为你的写法把零给拿掉才这麽奇怪... 09/07 23:43
2F:→ waterpeng:如果能接受的话...把小数点後的999999都改成0... 09/07 23:43
3F:→ waterpeng:要不然就看有没有其他高手能想到怎麽做了... 09/07 23:44
4F:→ tedcat:我不会oracle,提供概念看行不行: 09/09 02:40
5F:→ tedcat:判断是整数的(or.右边转成数值判断是零的)拿掉. 09/09 02:42
6F:推 waterpeng:如果是这样..可以用case的方法来写这个sql试试.. 09/13 22:18