小弟刚接触SQL2000,
发现有些比较怪的问题~定义如下表:
T1QTY
2.0009
2.0009
2.0009
2.0009
2.0009SELECT SUM(QTY) FROM T1居然显示为 10.004500150680542
天哪。到底发生了什么事 ?另外,对于整数部份为10位,小数位为7位这样的数值型,不知道高手们建议我使用哪种类型比较合适呢?谢谢 !!!

解决方案 »

  1.   

    SELECT cast(SUM(QTY) as numeric(17,7) FROM T1 
      

  2.   

    用decimal(17,7)吧declare @tb table(QTY  decimal(17,7))
    insert @tb 
    select 2.0009 union all
    select 2.0009 union all
    select 2.0009 union all
    select 2.0009 union all
    select 2.0009select sum(qty) from @tb---------------------------------------- 
    10.0045000(所影响的行数为 1 行)
      

  3.   

    decimal(17,7)  17表示总位数,7表示后面的小数位数
    numeric(17,7)与上面相同