在Oracle数据库中会碰到当小数小于1的时候,小数点前的0不显示,但并非所有遇到小数小于1的时候都不显示而是有特定条件的
1、当小数单独显示
例:select 0.123456 from dual 显示结果为:0.123456
2、当小数与字符串进行拼接
例:select 0.123456||'小数' from dual 显示结果为:.123456小数
出现此类情况的原因是Oracle中存在隐形转换,当与字符串进行拼接时自动调用了to_char函数
解决此类问题,在进行隐形转换之前把小数进行字符串转换后再进行拼接
例:select to_char(0.123456,'fm990.0000')||'小数' from dual 显示结果为:0.1235小数
3、当小数位后希望0填充
例:0.2希望变成0.200 select to_char(0.2,'fm990.000') from dual
4、当整数前补0时
例:2希望变成002 select to_char(2,'fm000') from dual
fm:去掉0的意思
9:不显示0
0:显示0
所以 要处理金额的话
to_char(金额,'fm9999999990.00')
留下您的脚步
最近评论