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

本文解析了在Oracle数据库中字段拼接时小数点前0消失的问题,并提供了解决方案。通过使用TO_CHAR函数,指定格式'fm9999999999999990.00',确保了小数点前的0不会被省略。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.出现问题

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

2.问题解决

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

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值