博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
解决Oracle出现以0开头的小数,开头的0消失的问题
阅读量:6805 次
发布时间:2019-06-26

本文共 498 字,大约阅读时间需要 1 分钟。

项目中碰到了个问题,本来报表需要显示“0.49%”,结果就是显示成“.49%”

找问题

首先在pl/sql工具里执行sql,发现原始的数据就是“.49%”,那么问题来了,原始sql的问题,跟工具无关了。

因为.49和“%”是通过字符串拼接的形式合成的,Oracle中存在一个隐形类型转换的问题,在拼接的过程中小数自动转成字符类型,相当于调用了to_char函数。

在类型隐形转换开始前先把小数转换成字符类型就不回出现这个问题了。

如:

select to_char(0.12,'fm9999990.9999') ||'%' from dual;

 

给小数一个格式然后转换为字符类型可以解决这个问题。

当然此方法还可以解决强制性保留几位小数位,比如,‘0.5’,怎么让它变成 ‘0.5000’,很简单,上面的方法就可以用

select to_char(0.5,'fm9999990.0000') ||'%' from dual;

 

有时候我们也会遇到1,2,3 需要转换为01,02,03 那么也可以使用这种方法

SELECT to_char(2,'fm00') FROM dual;

 

2就会变为02了

转载地址:http://cqjwl.baihongyu.com/

你可能感兴趣的文章
netbeans build in one jar
查看>>
CentOS 6.6 新安装系统的网络IP配置
查看>>
zabbix邮件报警设置
查看>>
解析linux根文件系统的目录树
查看>>
onTouchEvent事件中调用onFling方法
查看>>
我的友情链接
查看>>
linux shell
查看>>
Windows Server入门系列35 了解NTFS安全权限
查看>>
序列判断
查看>>
php常用自定义函数
查看>>
如何取消开机按ctrl+alt+delete组合键
查看>>
jmeter之使用fidder抓包之后进行接口测试
查看>>
进程调度模拟程序
查看>>
Linux自建简易版DNS主从服务器
查看>>
linux 7.2 安装openstack 过程出现rabbitmq-server 错误解决方法
查看>>
PHP CI框架学习笔记-分页实现程序
查看>>
提升不止一点点,Dubbo 3.0 预览版详细解读,还愣着干啥啊?进来啊
查看>>
磁盘配额(quota)
查看>>
php同步mysql两个数据库中表的数据
查看>>
Sequence of transform scripts?
查看>>