oracle 保留小数点前面的0的方法

遇到这么个情况,flow字段为0.556,当我试图将其跟字符串连接成新的字符串的时候,就会出现0.开头没了的情况,如图

oracle 保留小数点前面的0的方法

解决方法问到两种,

方法1、将flow先to_char,过程中指定格式

select to_char(flow,'fm999990.9999')||'string'    from    nwom.lte_shifen_liehua_pm;

像这样,其中fm999990.9999fm个人理解就是format的意思,也就是指定格式,而且fm可以将99999表示的格式里的0去掉

不加fm的时候会这样

oracle 保留小数点前面的0的方法oracle 保留小数点前面的0的方法


小数点后面的5个9,表示保留5位小数,但是加上fm则就可以起到把多余的0去掉的作用


方法2、使用decode函数可以达到这个作用

select decode(substr(0.123,1,1),'.','0'||0.123) from dual