ORACLE保留小数位数

有两种方法:

1.select round(222/5, 2) from dual

round(x,y)  x表示带小数的number,y代表需要保留小数的位数个数

缺点:如果小数小于1的时候,比如0.22类似这种的,要是用在字符串里面拼接的话,查出来默认会把0给去掉,显示出的是 .22  

这是由于Oracle中存在隐形转换,当与字符串进行拼接时自动调用了to_char函数,并且to_char在做转化时,如果你不指定格式,它就按它的格式去做转化,结果就把0给转不见了,所以在做转化时要给定格式,所以可以使用第二种方式。

2.select to_char(0.22,'fm990.00') from dual

结果:0.22

这里重点要看 fm9999999990.00,表示整数部分最多10位,小数部分2位,fm表示去 掉转位字符串后前面的空格,不加fm,0.22前面会有空格的. 

你可能感兴趣的:(Oracle,sql,数据库)