用DECIMAL(16,6)
或 NUMERIC(16,6)

解决方案 »

  1.   

    float类型自动确定小数点位置
    smallint类型为2位
      

  2.   

    在SQL Server中,real的同义词为float(24)
      

  3.   

    如果需要指定小数位数,用:decimal 和 numeric
    带定点精度和小数位数的 numeric 数据类型。
    float 和 real
    用于表示浮点数字数据的近似数字数据类型。浮点数据为近似值;并非数据类型范围内的所有数据都能精确地表示。语法
    float [ ( n ) ]从 - 1.79E + 308 到 1.79E + 308 之间的浮点数字数据。n 为用于存储科学记数法 float 数尾数的位数,同时指示其精度和存储大小。n 必须为从 1 到 53 之间的值。n 所在范围 精度 存储大小 
    1-24 7 位数 4 字节 
    25-53 15 位数 8 字节 
    Microsoft® SQL Server™ float[(n)] 数据类型对于从 1 到 53 之间的所有 n 值均符合 SQL-92 标准。double precision 的同义词为 float(53)。real从 ?3.40E + 38 到 3.40E + 38 之间的浮点数字数据。存储大小为 4 字节。在 SQL Server 中,real 的同义词为 float(24)。
      

  4.   

    create table test (
       n                    numeric(16,6)             not null,
       constraint PK_TEST primary key  (n)
    )