在SQL中两float字段相减,如字段1-字段2,为什么相减后,得到数值小数点后有N位啊 select round(字段1-字段2,2) from ... 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 float保存的本来就是非精确的数据,相减后,小数位当然有N位啦.改用decimal数据类型吧. declare @a float,@b floatselect @a=232.333,@b=22.3434select @a-@bselect convert(decimal(10,2),@a-@b)--结果----------------------------------------------------- 209.9896(1 row(s) affected) ------------ 209.99(1 row(s) affected) 刚才看了SQL介绍,说如果convert(decimal(10,2),@a-@b)转换的话,如果值为空,会报错,是吗 下次改用decimal或numeric型,不用FLOAT了 是的,但你可以让他不为空:convert(decimal(10,2),isnull(@a,0)-isnull(@b,0)) freetext 问题 sql 文件组理解问题 創建表失敗 一个表的统计结果写到另一个表里面 聚和函数max()的用法,我遇到困难,能不能帮帮我? 数据拼加 初学sql.为什么我在注册服务器的时候会出错???!!! 没想到问题居然出在注释上 access + vba 的一个作业,一个mm不会做,我帮她问,请大家帮忙 统计某几行几列中数据的 个数 未与信任 SQL Server 连接相关联,请问是什么原因? SQL+vb.net?
select @a=232.333,@b=22.3434
select @a-@b
select convert(decimal(10,2),@a-@b)
--结果
-----------------------------------------------------
209.9896(1 row(s) affected)
------------
209.99(1 row(s) affected)
convert(decimal(10,2),isnull(@a,0)-isnull(@b,0))