[SQL ] 數字格式化的問題

看板Database作者 (小隻毛)時間13年前 (2012/09/06 14:17), 編輯推噓2(204)
留言6則, 2人參與, 最新討論串1/2 (看更多)
各位先進好 小弟使用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

09/07 23:43, , 1F
想不到...因為你的寫法把零給拿掉才這麼奇怪...
09/07 23:43, 1F

09/07 23:43, , 2F
如果能接受的話...把小數點後的999999都改成0...
09/07 23:43, 2F

09/07 23:44, , 3F
要不然就看有沒有其他高手能想到怎麼做了...
09/07 23:44, 3F

09/09 02:40, , 4F
我不會oracle,提供概念看行不行:
09/09 02:40, 4F

09/09 02:42, , 5F
判斷是整數的(or.右邊轉成數值判斷是零的)拿掉.
09/09 02:42, 5F

09/13 22:18, , 6F
如果是這樣..可以用case的方法來寫這個sql試試..
09/13 22:18, 6F
文章代碼(AID): #1GI40NEK (Database)
文章代碼(AID): #1GI40NEK (Database)