我在SQL Server的企业管理器是用'SELECT 重量 FROM cp' 得到的值为两位小数,如下:
重量
0.56
0.58
0.54
而在SQL Server的查询分析器中同样输入用'SELECT 重量 FROM cp' 得到的值为何精度高了么很多,如下
重量
0.560000001
0.580000001
0.540000002
怪不得在Delphi用'SELECT 重量 FROM cp where 重量=0.56'找到0条记录 
所以请问如何将数据写入SQL数据时防止后面的000001出现(在输入的时候我肯定只0.56输入),我在SQL数据库中的“重量”字段用的是float

解决方案 »

  1.   

    select cast(重量 as money) as 重量 from cp where ...........
      

  2.   

    你的字段类型是设为float 吧?
    就会出现你说的那种情况.
    定义成numberic,设置小数位数,就不会那样.
    但是有一点要提醒一下,用了这个类型,在delphi 中用dbedit,或dbgrid 来显示的话,最多只显示4位小数.尽管在SQL server里可以显示>4位.
      

  3.   

    对呀,我也建议设为numberic或dec型