精确的数字

精确数字数据类型有两个基本类 - 整数固定精度和比例

整数数据类型

  • TINYINT
  • SMALLINT
  • INT
  • BIGINT

整数是从不包含小数部分的数值,并始终使用固定数量的存储。整数数据类型的范围和存储大小如下表所示:

数据类型 范围 存储
0 或 1 1 位**
TINYINT 0 到 255 1 个字节
SMALLINT -2 ^ 15(-32,768)到 2 ^ 15-1(32,767) 2 个字节
INT -2 ^ 31(-2,147,483,648)到 2 ^ 31-1(2,147,483,647) 4 字节
BIGINT -2 ^ 63(-9,223,372,036,854,775,808)至 2 ^ 63-1(9,223,372,036,854,775,807) 8 个字节

修复了精度和比例数据类型

  • 数字
  • 十进制
  • SMALLMONEY

这些数据类型可用于准确表示数字。只要值可以在数据类型中可存储的值范围内,该值就不会出现舍入问题。这对于任何财务计算都很有用,其中舍入误差将导致会计师的临床精神错乱。

请注意, decimalnumeric 是同一数据类型的同义词。

数据类型 范围 存储
十进制[(p [,s])]或数字[(p [,s])] -10 ^ 38 + 1 到 10 ^ 38 - 1 请参见精密

定义十进制数字数据类型时,可能需要指定 Precision [p]和 Scale [s]。

精度是可以存储的位数。例如,如果需要存储介于 1 和 999 之间的值,则需要精度为 3(将三位数保持为 100)。如果未指定精度,则默认精度为 18。

Scale 是小数点后的位数。如果需要存储介于 0.00 和 999.99 之间的数字,则需要指定 5 的精度(5 位数)和 2 的刻度(小数点后的两位数)。你必须指定精度以指定比例。默认比例为零。

十进制数字数据类型的精度定义了存储值所需的字节数,如下所示:

精密工作台

精确 存储字节
1 - 9
10-19 9
20-28 13
29-38 17

货币固定数据类型

这些数据类型专门用于会计和其他货币数据。这些类型具有固定的 4 级 - 你将始终在小数位后看到四位数。对于使用大多数货币的大多数系统,使用 Scale 为 2 的数值就足够了。请注意,没有关于所表示货币类型的信息与值一起存储。

数据类型 范围 存储
-922,337,203,685,477.5808 至 922,337,203,685,477.5807 8 个字节
SMALLMONEY -214,748.3648 至 214,748.3647 4 字节