oracle 保留小数点问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle 保留小数点问题相关的知识,希望对你有一定的参考价值。
保留4位小数,且小于1的需要保留整数位0,小数点不足4位的补0,最后结果需要为number类型,例:0.03125
最后结果为:0.0313 、 0.12 结果为:0.1200 ,怎么实现,求大侠帮忙!
例如:
create table test1
(a number(18,4));
insert into test1
values(0.03125 );
insert into test1
values(0.12 );
insert into test1
values(1.12 );
select * from test1;
结果:
1 0.0313
2 0.1200
3 1.1200追问
关键是需要的数据类型定义的不是4位小数
追答数据类型是什么?只是查询出的结果为4位小数吗?
追问数据类型已经是number(36,6) 只要查询出来的结果转换
追答create table test1
(a number(36,6))
insert into test1
values(0.031252)
insert into test1
values(0.12)
select a,to_char(a,'99990.9999') from test1
sql表小数点前面的0不显示问题
往表里插入数据
INSERT emp_pay VALUES (1, 500, .10)
表里第3个字段decimal类型,结果查询出来的时候显示.10,而不是0.10,怎么显示成0.10呢
set @c=0.10
select @c 数字,cast(@c as varchar(20)) 字符
其实从上图中可以看出,SQL输出的结果是没有错的,很可能是程序将其小数点前面的0省略掉了。
参考技术A 查看表里的第三个字段的decimal数据类型,比如decimal(18,0)为取整,decimal(18,2)为插入数据保留2位小数点。decimal(18,2)你插入10的时候会显示位10.00 参考技术B 插入.10,在数据表里看也是0.10的,如果是前台显示问题,那么需要自己格式化下显示格式。 参考技术C 修改下返回的类型,如果是string类型的就可以是这样,可以改为bigDecimal就可以了 参考技术D 显示的时候用convert函数转换成字符类型的,就可以显示成0.10了。以上是关于oracle 保留小数点问题的主要内容,如果未能解决你的问题,请参考以下文章
Oracle数据库中的如何保留两位小数 并且在java中保留两位小说插入数据表中
oracle:求百分比,保留小数点后两位,不会出现.01的情况,也不会出现#######的情况,写一条sql语句