SQL 数据类型 之 数字类型

数字类型(Numeric):

    包含两个子类:精确数字与近似数字。精确数字类型对应有限范围内的数值。

精度范围与存储要求

数据类型

范围

存储

bigint

-2^63(-9223372036854775808)到2^63-1(9223372036854775807)到2^63()

8

int

-2^31(-2147483648)到-2^31-1(-2147483647)

4

smallint

-2^15(-32768)到2^15-1(-32767)

2

tinyint

0-255

1

money

-922337203685477.5808到922337203685477.5807

8

smallmoney

-214748.3648到214748.3647

4

精确数字类型还包括另外两种数据类型:decimal 和 numeric。两者在小数位与精度上有细微的差别。本质功能上是等价的,即存储的内容与存储的方式是一致的。精度指的是最多可以存储的数字的总位数,包括小数点左边和右边的位数。精度值的范围为 1-38。默认精度为 18。而小数指的是小数点右边可以存储的十进制数字的最大位数。小数位数必须是 0 到精度 p 之间的值。因此向存储一个精度为 4 的数字,小数点左右两边各有 2位,则应该使用的数据类型为 decimal(4,2)。

 表 精度范围与存储需求

精度

存储字节数

1~9

5

10~19

9

20~28

13

29~38

17

      近似数字子类类似于 decimal 和 numeric 型,其中有一种也有精度,即浮点(float)型;

 另一种 real 型则没有精度值,但可以存储数高达 7 位的数字,位数包括小数点左边和右边的数字。例如,想在 real 型中存储数字 1234.5678 时,其值近似为 1234.568。当然如果希望精度保持不变,这应该将数字存储在 float(25) 中。

    decimal 和 float 数据类型间主要的区别在于:前者存储的精度级别更高。

  表 · 近似数字类型的精度范围与存储要求

n 值

精度

存储大小

1~24

7 位数

4 字节

25~53

15 位数

8 字节

猜你喜欢

转载自blog.csdn.net/ff_hh/article/details/86650424