今天遇到一个很有趣的问题,我做的统计报表,出现了数据的不正确性,问题是百分比的数据没有了小数点前的0,就像这样:
我开始慌了,这个就很尴尬
组长安慰我这是个小问题,但我就很郁闷了,这个明显不好搞,但是还是得装做没事的样子去解决,不怕不怕,度娘能帮忙的,先百度一下ROUND函数的用法,然后感觉没啥毛病,而且这个函数也没不会算错,这个零到底跑到哪里去了,what,这是个什么鬼,好吧,那就只能靠瞎JB查了,围绕着问题来搜答案,还真让我看到了问题的解决方法,标题是Oracle如何显示出小数点前后的0,嘿,还真不是我sql有问题,是因为在ROUND函数运行之后,将这个值转换成了number,然后我拼接了一个百分号,这就的转型,隐式转换成char类型,但to_char函数会把小数点前的零给转化没了,这就真的坑了,还好度娘给力,然后我显式的进行转换,就折腾了一会,终于把sql给整出来了,显示还真有了,解决方法就是讲你的ROUND函数外面包一个to_char函数,格式就是这个样子:
to_char(值,‘fm9999990.0099’)
这样就可以得到你想要的零了,最后显示的样子是这个样子:
所以说编程博大精深,到处都有坑,一定要小心,不要掉到坑里出不来了!
oracle百分比数据缺失问题
最新推荐文章于 2021-04-03 10:22:32 发布