sql 产生多位小数
来源:百度知道 编辑:UC知道 时间:2024/05/29 13:24:21
我用SELECT 姓名,sum(系数 * 课时 ) as 一周系数 from 课务 group by 姓名
命令产生的一周系数字段为什么有那么多的小小数位数,原数据中只有系数字段最多两位小数
9.25
11.550000190734863
7.25
11.550000190734863
9.8999996185302734
11.100000381469727
6.5999999046325684
9.8999996185302734
9.25
11.550000190734863
15.5
9.8999996185302734
13.199999809265137
6.5999999046325684
11.550000190734863
11.600000381469727
11.100000381469727
11.600000381469727
16.5
9.8999996185302734
11.100000381469727
9.8999996185302734
11.600000381469727
系数 数字 单精度型 小数位数 2
课时 数字 字节
用abill425的方法在access中行了,但在sql server2000中结果为
9.25
11.550000000000001
7.25
11.550000000000001
还有谁能为我解释一下为什么为这样
命令产生的一周系数字段为什么有那么多的小小数位数,原数据中只有系数字段最多两位小数
9.25
11.550000190734863
7.25
11.550000190734863
9.8999996185302734
11.100000381469727
6.5999999046325684
9.8999996185302734
9.25
11.550000190734863
15.5
9.8999996185302734
13.199999809265137
6.5999999046325684
11.550000190734863
11.600000381469727
11.100000381469727
11.600000381469727
16.5
9.8999996185302734
11.100000381469727
9.8999996185302734
11.600000381469727
系数 数字 单精度型 小数位数 2
课时 数字 字节
用abill425的方法在access中行了,但在sql server2000中结果为
9.25
11.550000000000001
7.25
11.550000000000001
还有谁能为我解释一下为什么为这样
字段什么类型都不说
单精度类型精度不够高
涉及计算的用decimal类型
课时是字节型?binary? 用tinyint好了
用这个:
SELECT 姓名,round(sum(系数 * 课时 ),2) as 一周系数 from 课务 group by 姓名
-----------------------------------------------
sqlserver用这个:
SELECT 姓名,convert(decimal(18,2),sum(系数 * 课时 )) as 一周系数 from 课务 group by 姓名
类型问题
sql2000中
numeric(8,2)
2就是精度