关于Oracle将小于1的数字to_char后丢掉0的解决办法

 

SQL代码如下:

select rtrim(to_char(0.11, 'fm9990.99'), '.') from dual;
其中
0.11为需要to_char的数字
fm去掉字符串前面的空格
9990.99表示4位数字,千位百位十位 [标识9无数字时不显示 ,个位数 [标识0永久显示,小数 [标识9没有不显示 


如果数字位数超过4位则返回结果为#### [符号#的个数由原字符串长度决定,比如:12345.01则返回8个#号]
此时需要增加格式化位数以达到目的 [如:9999999990.99,表示最大10位整数]


如果需要永久显示两位小数,则用9990.00进行格式化


rtrim(str, '.') 去掉右侧的小数点符号 [用于没有小数的整数]

posted @ 2013-10-23 10:01  PianoCoder  阅读(3212)  评论(0编辑  收藏  举报