decimal 和 numeric (Transact-SQL)

具有固定有效位數和小數位數的數值資料類型。

  • 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。最大儲存體大小會隨著有效位數而不同。

    有效位數

    儲存體位元組

    1 - 9

    5

    10-19

    9

    20-28

    13

    29-38

    17