数据库设计的时候保存钱的列应设成decimal还是numeric啊不知道他们的区别用哪个好些

解决方案 »

  1.   

    decimal 與 numeric
    使用固定有效位數與小數位數的數字資料型別。decimal[(p[, s])] 與 numeric[(p[, s])]固定有效位數及小數位數的數字。若使用最大有效位數,其有效值為 - 10^38 +1 到 10^38 – 1;decimal 在 SQL-92 中的同義字是 dec 和 dec(p, s)。p (precision)指定小數點左方及右方可儲存的十進位數總和的上限。有效位數的值可從 1 到最大有效位數。最大有效位數值為 38。s (scale)指定小數點右方可儲存的十進位個數總和的上限。小數位數可從 0 到 p。預設的小數位數是 0;因此 0 <= s <= p。儲存區大小上限可能不同,視有效位數的設定而定。精確度 儲存區位元組 
    1 - 9 5 
    10-19 9 
    20-28 13 
    29-38 17 
      

  2.   

    decimal=numeric
    decimal(10,2)=numeric(10,2)
      

  3.   

    decimal 的 ISO 同义词为 dec 和 dec(p, s)。numeric 在功能上等价于 decimal。
      

  4.   

    numeric与decimal数据类型在功能上等效
      

  5.   

    从简单的角度来说,money类型,最精确是小数点后4位,而decimal,有效位数为38位置。这个时候,如果你想取小数点后9位 ,那么数据类型必须为decimal,例如是decimal(29,9),其中,29是总长度,9就是小数点的长度
      

  6.   

    decimal是个精确数据
    numeric是个舍入数据
    用来保存货币数据时,如果金额较小则无所谓,如果金额较大推荐用decimal