我在企业管理器中打开data表时显示的数据是: 2011-9-8 19:23:26 1 29.11
                                    2011-9-8 19:05:59 2 28.8
 
在查询分析器中打开得到的数据是:2011-09-08 19:23:26.000 1 29.109999999999999
                                2011-09-08 19:05:59.000 2 28.800000000000001第一个字段是时间:属性是datetime    
第一个字段是号码:属性是tinyint
第一个字段是数据:属性是float
    不知为何第三个字段得到的数据两者有区别?

解决方案 »

  1.   

    float字段类型保存的是近似数值.最好用decimal.
      

  2.   

    float 和 real
    用于表示浮点数字数据的近似数字数据类型。浮点数据为近似值;并非数据类型范围内的所有数据都能精确地表示。建议用decimal(m,n)
      

  3.   

    float数是一个不精确的数字...一般建议使用decimal型比较精确tinyint是短整型...
      

  4.   

    可是如何将string 转换成decimal型呢? 因为使用了之后,在delphi中没有strtodecimal这个语法呀
      

  5.   

    cast(string型字段 as decimal(m,n)) where ISNUMERIC (string型字段) = 1