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代表:如果存在數字則顯示數字,不存在則顯示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
上面的功能適用于固定小數點格式。而如果沒有小數點了?
⑥解決整數后面多個點的情況
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') 格式化数据的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 前端一HTML:十五: 层叠,权重,优先
- 下一篇: jvm十一:类加载器双亲委托机制