首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

SQL计算的奇怪现象,哪位高手能帮小弟我分析一下原因

2012-01-19 
SQL计算的奇怪现象,谁能帮我分析一下原因?下面语句是从mytable取出两列数T和Q,并求它们积S:selectT,Q,(T*Q

SQL计算的奇怪现象,谁能帮我分析一下原因?
下面语句是从mytable取出两列数T和Q,并求它们积S:
select     T   ,Q   ,(T*Q)   as   S     from   mytable

结果是:
      T                     Q                 S
.479700           58.027.822600000000001
.644100       1020.0656.98199999999997


但我执行下面的语句结果却与上面的不一样:
select     0.479700     as   T   ,58.0   as   Q   ,(0.479700   *58.0)   as   S  

结果是:
        T               Q                       S
.479700         58.027.8226000


select     0.644100     as   T   ,1020.0   as   Q   ,(0.644100*1020.0)   as   S    
结果是:

        T               Q                       S
.644100     1020.0   656.9820000


为什么相同的数相乘,结果会不一样呢?

[解决办法]
没定义类型的小数会默认为float,而你数据表中的类型不是这样,所以结果不一样

热点排行