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

解决方案 »

  1.   

    float 达不到你的要求,可以使用 decimal 或者 numric 来代替
    create table a
    (
    f1 decimal(10,8)
    )insert into a values(12)select * from a
      

  2.   

    decimal 和 numeric
    带定点精度和小数位数的 numeric 数据类型。decimal[(p[, s])] 和 numeric[(p[, s])]定点精度和小数位数。使用最大精度时,有效值从 - 10^38 +1 到 10^38 - 1。decimal 的 SQL-92 同义词是 dec 和 dec(p, s)。p(精度)指定小数点左边和右边可以存储的十进制数字的最大个数。精度必须是从 1 到最大精度之间的值。最大精度为 38。s(小数位数)指定小数点右边可以存储的十进制数字的最大个数。小数位数必须是从 0 到 p 之间的值。默认小数位数是 0,因而 0 <= s <= p。最大存储大小基于精度而变化。
      

  3.   

    我要求的字段很简单的,小数点精确到5,6位,有负数,够大,就可以了
    ==============>简单的很,定义为:decimal(18,6)
      

  4.   

    FLOAT,REAL--
    NUMBER1 FLOAT(53)--表示最多有53位数你要求精度还是用DECIMAL,NUMERICDECIMAL,NUMERIC的设定以及位数的限制,当启动SQL SERVER服务的时候加上/P参数即可达到38位数,否则预设为28位数,
    NUMERIC(38,6)
    DECIMAL(38,6)
      

  5.   

    用了
    NUMERIC(38,6)
    DECIMAL(38,6)
    后,不能在ASP中直接加减乘除!
      

  6.   

    http://community.csdn.net/Expert/topic/4298/4298452.xml?temp=.1089899