码迷,mamicode.com
首页 > 数据库 > 详细

Sql server 入门之sql server所支持的数据类型

时间:2016-04-19 19:32:47      阅读:206      评论:0      收藏:0      [点我收藏+]

标签:

Sql server 入门之sql server所支持的数据类型

常见数据类型

1.整型数据

  1)bit, 只能存储0、1和空值null。

  2)tinyint, 不带符号位的正数,占用1个字节,8位,支持的数据范围为0~2^8-1。

  3) smallint, 带符号位的,占用2个字节,16位,支持的数据范围为-2^15~2^15-1。

  4) int, 带符号位的,占用4个字节,32位,支持的数据范围为-2^31~2^31-1。

  5)bigint, 带符号位的,占用8个字节,64位,支持的数据范围为-2^63~2^63-1。

2.浮点型数据

  1)float(n), 浮点数据为近似值,其中 n 为用于存储 float 数值尾数的位数(以科学记数法表示),因此可以确定精度和存储大小。  

  如果指定了 n,则它必须是介于 153 之间的某个值。n 的默认值为 53。  

  下图的精度指的是最多支持多少个数字,如果给的数据超过精度范围,直接截断,并且不会四舍五入。

n                       值

精度

存储大小

1-24

7 位数

4 字节

25-53

15 位数

8 字节

   2)real, 等价于float(24)。

   3)double, 等价于float(53)。

   4)declmal(m,n),  精确数值型,必须指定浮点型数据的总长度以及小数点后面的位数。m对应的是浮点型数据的总长度,n对应的是小数点后面的位数,小数            点前面的位数就是m-n。

   5)numeric(m,n), 等价于declmal(m,n)。

3.时间型数据

   1)datetime, 表示日期和时间,这种数据类型存储从1753年1月1日到9999年12月31日间所有的日期和时间数据, 精确到三百分之一秒或3.33毫秒。

     2016-04-19 03:57:26.243

   2)smalldatetime, 用来表示从1900年1月1日到2079年6月6日间的日期和时间,精确到一分钟。

     2016-04-19 03:59:00 

   3)date, 表示一个日子,不包含时间部分,可以表示的日期范围从公元元年1月1日 到9999年12月31日.

    2016-04-19

   4)datetime2(n), n小于等于7,n可以控制小数点后面多少位数字,精确到纳秒。

    2016-04-19 04:07:22.4761175

   5)datetimeoffset(n), n小于等于7, n可以控制小数点后面多少位数字,会有时区的数据。

    2016-04-19 09:09:58.5000000 +00:00

4.字符串型数据

   1)char(n), 定长字符串数据,最大支持8000个字符。若输入数据的字符数小于n,则系统自动在其后添加空格来填满设定好的空间若输入的数据过长将会截掉                         其超出部分。

   2)varchar(n), 变长字符串数据,最大支持8000个字符。因为VARCHAR数据类型的存储长度为实际数值长度.若输入数据的字符数小于n, 则系统不会其后添           加空格来填满设定好的空间.

   3)nchar(n), 用来存储定长统一编码字符型数据,统一编码用双字节结构来存储每个字符,而不是用单字节,最大能存储4000个字符。

   4)nvarchar(n), 用作存储变长的统一编码字符型数据,统一编码用双字节结构来存储每个字符,而不是用单字节,最大能存储4000个字符。

   5)varchar(max), 变长字符串数据,max 指示最大存储大小是 2^31-1 个字节 (2 GB)。

   6)nvarchar(max), 变长字符串数据,max 指示最大存储大小是 2^31-1 个字节 (2 GB)。

   如果列数据项的大小一致,则使用 char

   如果列数据项的大小差异相当大,则使用 varchar

   如果列数据项大小相差很大,而且大小可能超过 8,000 字节,请使用 varchar(max)

 

5.货币型数据

   1)smallmoney, 用来表示钱和货币值,这种数据类型能存储从-214748.3648 到214748.3647 之间的数据,精确到货币单位的万分之一,如果小数位过多的话会自动四舍五入。

   2)money, 用来表示钱和货币值。这种数据类型能存储从-9220亿到9220 亿之间的数据,精确到货币单位的万分之一,如果小数位过多的话会自动四舍五入。

6.时间戳型数据

   timestamp, timestamp 数据类型是一种特殊的数据类型,用来创建一个数据库范围内的唯一数码。 一个表中只能有一个timestamp列。每次插入或修改一行时,timestamp列的值都会自动改变。尽管它的名字中有“time”, 但timestamp列不是人们可识别的日期。在一个数据库里,timestamp值是唯一的。

  0x0000000000D43BAD

7.唯一标志符型数据

   Uniqueidentifier, 用来存储一个全局唯一标识符,即GUID。GUID确实是全局唯一的。这个数几乎没有机会在另一个系统中被重建。可以使用NEWID 函数来获取这种类型的数据。

   select newid() --78C8E94E-DBBF-4C4F-892A-93D04A098A12

8.二进制型数据

   1)binary(n), 用来存储可达8000 字节长的定长的二进制数据。

   2)varbinary(n), 用来存储可达8000 字节长的变长的二进制数据。

   3)varbinary(max), 用来存储可达 2^31-1 字节长的变长的二进制数据。 

   如果没有在数据定义或变量声明语句中指定 n,则默认长度为 1。如果没有使用 CAST 函数指定 n,则默认长度为 30。

   如果列数据项的大小一致,则使用 binary。

   如果列数据项的大小差异相当大,则使用 varbinary。

   当列数据条目超出 8,000 字节时,请使用 varbinary(max)。

 

Sql server 入门之sql server所支持的数据类型

标签:

原文地址:http://www.cnblogs.com/chenxianming01/p/5408866.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!