数据库中存储小数的问题。

数据库中存储小数的问题。,第1张

无论MYSQL还是SQL SERVER,用float类型存放0.55是不会出问题的,显示为1可能是相关的客户端软件显示时候的宽度不够,自动进行了四舍五入而已,你可以使用MYSQL的命令用SQL显示一下,结果有误差,但是值是对的,比如可能显示0.55000000001或者0.54999999999

小数用double或者number不带精度作为存储,

示例如下,

1、创建测试表,create table test_num(id number, fee number(10,3))

2、插入测试数据,

insert into test_num values(1,0.8)

insert into test_num values(2,329.2)

insert into test_num values(4.44,15)

insert into test_num values(6,3)

commit

3、查询表中记录,select * from test_num,可以看到小数已经存入,

4、如果小数转整数,可以用trunc(直接去掉小数)或round(四舍五入)函数,

select t.*, trunc(fee) fee1, round(fee) fee2 from test_num t


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9550894.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-29
下一篇 2023-04-29

发表评论

登录后才能评论

评论列表(0条)

保存