tr

解决方案 »

  1.   

    decimal[ (p[ , s] )] 和 numeric[ (p[ , s] )]
    固定精度和小数位数。使用最大精度时,有效值从 - 10^38 +1 到 10^38 - 1。decimal 的 ISO 同义词为 dec 和 dec(p, s)。numeric 在功能上等价于 decimal。p(精度)
    最多可以存储的十进制数字的总位数,包括小数点左边和右边的位数。该精度必须是从 1 到最大精度 38 之间的值。默认精度为 18。s (小数位数)
    小数点右边可以存储的十进制数字的最大位数。小数位数必须是从 0 到 p 之间的值。仅在指定精度后才可以指定小数位数。默认的小数位数为 0;因此,0 <= s <= p。最大存储大小基于精度而变化。
      

  2.   

    楼主给的数据应该可以用decimal(30,13)
      

  3.   

    可以的。nvarchar 要来回转换,麻烦
      

  4.   

    create table tb(col decimal(30,13))
    go
    insert tb
    select 34.2385392359824
    union all
    select 117.155523598194
    goselect * from tb/**
    col                              
    -------------------------------- 
    34.2385392359824
    117.1555235981940(所影响的行数为 2 行)
    **/