作者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
推 waterpeng:想不到...因為你的寫法把零給拿掉才這麼奇怪... 09/07 23:43
→ waterpeng:如果能接受的話...把小數點後的999999都改成0... 09/07 23:43
→ waterpeng:要不然就看有沒有其他高手能想到怎麼做了... 09/07 23:44
→ tedcat:我不會oracle,提供概念看行不行: 09/09 02:40
→ tedcat:判斷是整數的(or.右邊轉成數值判斷是零的)拿掉. 09/09 02:42
推 waterpeng:如果是這樣..可以用case的方法來寫這個sql試試.. 09/13 22:18