oracle字段拼接过程中以0开头的小数,开头的0消失

1.出现问题

    在做字段拼接的过程,查询结果出现以0开头的小数,开头的0消失

《oracle字段拼接过程中以0开头的小数,开头的0消失》

2.问题解决

为何小数点前0会省略,是因为oracle数据库中存在一个隐形类型转换,在拼接的过程中小数自动转成字符类型,相当于调用了to_char函数,所以丢失小数点前面的0

这里操作就是把数值类型转换为字符型,即加上to_char(字段,’fm9999999999999990.00’) ,(查看表结构设计,我这里类型是number(16,2),所以设置前面小数点前面最多16位,后面保留2位)

其中9代表如果存在数字则显示数字,不存在则显示空格;
0代表如果存在数字则显示数字,不存在则显示0,即占位符;
fm代表删除如果是因9带来的空格,则删除。

《oracle字段拼接过程中以0开头的小数,开头的0消失》

    原文作者:jx_jy
    原文地址: https://blog.csdn.net/j_ychen/article/details/91360299
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞