日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

oracle 函数to_char(数据,'FM999,999,999,999,990.00') 格式化数据

發布時間:2025/6/15 编程问答 16 豆豆
生活随笔 收集整理的這篇文章主要介紹了 oracle 函数to_char(数据,'FM999,999,999,999,990.00') 格式化数据 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

轉載自:?https://blog.csdn.net/fupengyao/article/details/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,即占位符。

  ③其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下,具體如下:

select?to_char(trunc(0.596,2),'FM999,999,999,999,990.00')?from?dual
  其結果是0.59

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

select?to_char(10000000000,'FM999,999,999,990.00')?from?dual
  上面的功能適用于固定小數點格式。而如果沒有小數點了?

 ?、藿鉀Q整數后面多個點的情況

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') 格式化数据的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。