楼主 DJ_Soo |
Q:我的数据库中有一个字段下都是小数,而这些小数如果为0.n时,就会自动省略前面的0 我现在为了将0加上去,用了to_char(M_value,'fm999999990.99') 这样可以处理比较大的数字 但是还是有问题,我后来查了一下数据中最大最小的数字,分别为 9.9E+37和-9.25596E+61 这样的话,对于M_value的表示,用我写的to_char的方法有时会显示为######,应该如何改善写** 请大家帮忙,我提取数据出来类型可以不用为数字,只要显示正确就好. 比如0.5这个小数,在数据库中显示的是.5 我用to_char(M_value,'fm999999990.99')可以将.5转换为0.5,但是遇到很大或者很小的数字时就会出错,显示########,应该如何修改表示? A:
知识点Decode,类似于if判断,但有区别。 Sign可以有三种值,得到结果等于0时返回结果0,大于0时返回1,小于0时返回-1 abs为取绝对值 rtrim(Str,'.')可以去除Str中最右边的'.',这一句为了将最终数据中的'0.'转换为'0' 其中decode简单理解为: decode(判断条件,结果1,执行1,结果2,执行2,Else执行..) |
2楼 い卋玑┾宝珼 |
学习了,谢谢分享 |