精确的数字
精确数字数据类型有两个基本类 - 整数,固定精度和比例。
整数数据类型
- 位
- 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
- 钱
这些数据类型可用于准确表示数字。只要值可以在数据类型中可存储的值范围内,该值就不会出现舍入问题。这对于任何财务计算都很有用,其中舍入误差将导致会计师的临床精神错乱。
请注意, decimal 和 numeric 是同一数据类型的同义词。
数据类型 | 范围 | 存储 |
---|---|---|
十进制[(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 字节 |