oracle 函數to_char(資料,'FM999,999,999,999,990.00') 格式化資料(轉)

來源:互聯網
上載者:User

標籤:後台   帶來   格式   font   詳細   pre   預留位置   問題   tail   

轉載自:52778565

遇到了oracle 取數格式問題,這裡記一下

我們通常在做資料算數後,會想要讓它顯示自己需要的格式,這裡介紹一種簡單的方式

to_char(資料,‘FM999,999,999,999,990.00‘)

例子:

select to_char(0.59/1.00*100,‘FM999,999,999,999,990.00‘)||‘%‘ from dual 

結果為:59.00%

下面是詳細介紹(copy的)

select to_char(0.596,‘FM999,999,999,990.00‘) from dual

  它的執行結果如下:

  怎樣使查出來類似0.60的小數帶0,答案是:使用如上的格式即

  ①其9代表:如果存在數字則顯示數字,不存在則顯示空格

  ②其0代表:如果存在數字則顯示數字,不存在則顯示0,即預留位置。

  ③其FM代表:刪除如果是因9帶來的空格,則刪除之

  具體區別可以見

Selec length(to_char(1.00,‘999,999,999,999,999,999,999,990.00‘)), length(to_char(1.00,‘FM999,999,999,999,999,999,999,990.00‘)) from dual

  其結果是:

  ④四捨五入:0.596變成了0.60不知道大家注意到了沒有。如果不要四捨五入,則需要trunc下,具體如下:

  其結果是0.59

  ⑤解決列表100,000,000的情況

select to_char(10000000000,‘FM999,999,999,990.00‘) from dual

  上面的功能適用於固定小數點格式。而如果沒有小數點了?

  ⑥解決整數後面多個點的情況

select to_char(10000000000,‘FM999,999,999,990.99‘) from dual

  會出現類似的情況:10,000,000,000.

  此類的解決方案則需要進行先判斷詞資料是否包含.(點的情況)

  如果有點則 instr()下

  否則直接to_cahr()

  此功能適用於:頁面展示不出0(類的自訂的屬性,A類不存在屬性b,通過sqlMap查詢賦值的情況下適合,正常情況下不需要使用),前後台列表展示不顯示0,前後台列表的10,000,000,000格式。

oracle 函數to_char(資料,'FM999,999,999,999,990.00') 格式化資料(轉)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.