SQL Server 基础知识/数据类型/数值类型

数据库设计简单地来讲,也就是设计表格的过程。

表格存储的数据是可以理解为一个二维表,由行和列组成。

原则上来讲,一个数据库只需要一个字段,一个数据类型就可以解决所有的问题,但是这样做并不明智,所以一般来讲,一个表格都是由多个字段来组成 ,每个字段也可以由不同的数据类型来组成。

常见的数据类型如下:

一、整数

  • bigint

从 -2^63 (-9223372036854775808) 到 2^63-1 (9223372036854775807) 的整型数据(所有数字)。存储大小为 8 个字节。

 

  • int

 

从 -2^31 (-2,147,483,648) 到 2^31 - 1 (2,147,483,647) 的整型数据(所有数字)。存储大小为 4 个字节。int 的 SQL-92 同义字为 integer

 

  • smallint

 

从 -2^15 (-32,768) 到 2^15 - 1 (32,767) 的整型数据。存储大小为 2 个字节。

 

  • tinyint

 

从 0 到 255 的整型数据。存储大小为 1 字节。

 

赋值时,如果给定的值为非整数,则会隐式转换为整数。在转换的过程中,小数位将会被舍弃;

对于整数来说,给定的值转换为整数后超出其范围,将引发溢出异常。

对于bit类型的数据来讲,如果给定的值为0或者空字符串或者空白字符串,则其值为零,其它情况其值为1。

 

二、非整数

 

 

  • decimal[(p[s])] 和 numeric[(p[s])

 

定点精度和小数位数。使用最大精度时,有效值从 - 10^38 +1 到 10^38 - 1。decimal 的 SQL-92 同义词是 dec 和 dec(p, s)

p(精度)

指定小数点左边和右边可以存储的十进制数字的最大个数。精度必须是从 1 到最大精度之间的值。最大精度为 38

s(小数位数)

指定小数点右边可以存储的十进制数字的最大个数。小数位数必须是从 0 到 p 之间的值。默认小数位数是 0,因而 0 <= s <= p。最大存储大小基于精度而变化。

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

 

  • money 

 

货币数据值介于 -2^63 (-922,337,203,685,477.5808) 与 2^63 - 1 (+922,337,203,685,477.5807) 之间,精确到货币单位的千分之十。存储大小为 8 个字节。

 

  • smallmoney

 

货币数据值介于 -214,748.3648 与 +214.748,3647 之间,精确到货币单位的千分之十。存储大小为 4 个字节。

 

  • float ]

 

从 - 1.79E + 308 到 1.79E + 308 之间的浮点数字数据。n 为用于存储科学记数法 float 数尾数的位数,同时指示其精度和存储大小。n 必须为从 1 到 53 之间的值。

n 所在范围精度存储大小
1-24 7 位数 4 字节
25-53 15 位数 8 字节

 

Microsoft® SQL Server™ float[(n)] 数据类型对于从 1 到 53 之间的所有 n 值均符合 SQL-92 标准。double precision 的同义词为 float(53)

 

  • real

 

从 3.40E + 38 到 3.40E + 38 之间的浮点数字数据。存储大小为 4 字节。在 SQL Server 中,real 的同义词为 float(24)

posted @ 2017-03-27 11:46  Tiger95  Views(556)  Comments(0Edit  收藏  举报