oracle to char 百分比,ORACLE  TO_CHAR()的使用方法

例子:

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

它的执行结果如下:0.60

怎样使查出来类似0.60的小数带0,答案是:使用如上的格式即可

1:其9代表:如果存在数字则显示数字,不存在则显示空格

2:其0代表:如果存在数字则显示数字,不存在则显示0,即占位符。

3:其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

其结果是:

4:四舍五入:0.596变成了0.60。

如果不要四舍五入,则需要trunc下,具体如下:

select to_char(trunc(0.596,2),'FM999,999,999,999,990.00') from

dual

其结果是0.59

5:解决列表100,000,000的情况

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

上面的功能适用于固定小数点格式。而如果没有小数点了?

6:解决整数后面多个点的情况

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

会出现类似的情况:10,000,000,000.

此类的解决方案则需要进行先判断词数据是否包含.(点的情况)

如果有点则 instr()下,否则直接to_cahr()