sql – Oracle是否为Number数据类型存储尾随零?
发布时间:2021-01-27 14:50:41 所属栏目:MsSql教程 来源:网络整理
导读:当我在表中存储数值并在SQL Developer中查询该表时,它没有显示Number数据类型的尾随零. create table decimal_test(decimal_field number(*,10));insert into decimal_test(decimal_field) values(10);insert into decimal_test(decimal_field) values(10.11)
|
当我在表中存储数值并在SQL Developer中查询该表时,它没有显示Number数据类型的尾随零. create table decimal_test(decimal_field number(*,10)); insert into decimal_test(decimal_field) values(10); insert into decimal_test(decimal_field) values(10.11); insert into decimal_test(decimal_field) values(10.100); insert into decimal_test(decimal_field) values(10.00); select * from decimal_test; 结果是 10 10.11 10.1 10 这些值是从java代码处理的.在这种情况下,我使用BigDecimal来存储值. 在保存到DB之前,如果我有BigDecimal(10.00),保存后,从DB返回的值是BigDecimal(10). BigDecimal中的Equals方法失败,因为比例已更改. 而且我的小数精度不是恒定的.用户可以设置BigDecimal(10.00)或BigDecimal(10.000)等.因此,值需要按原样存储在DB中. 有没有办法在oracle中存储尾随零? 解决方法尾随零的存在是显示问题,而不是存储问题.尾随零并不重要,无论如何,只要值正确,数字的内部格式就不重要了. 10到10.00000之间没有价值差异.如果需要尾随零,则在转换显示值时始终可以使用格式.例如: System.out.printf("%10.4dn",decimalValue);
如果问题是比例差异,您可以在比较之前将比例设置为适当的值. (编辑:孝感站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 分析:Longhorn会让微软更加“霸道”吗
- sql – 为什么使用EXECUTE IMMEDIATE运行此查询会导致它失败
- 剧降300算什么,爱国者LCD 586T劲卖有背景
- sql-server-2008 – 为什么我不能使用NEWSEQUENTIALID()作为
- alter table alter SQL的SQL Server性能更改数据类型
- sql – 在预订系统中查找空闲插槽
- 光驱类型是什么|笔记本光驱类型
- 关于Internet Explorer选项被禁用修改法
- windows storage server 2008创建iscsi磁盘
- sql-server – SQL Server注入 – 26个字符中有多少损坏?


