SQL Server 数据类型简介

  在 SELECT 的查询过程和查询结果中,每个列、变量、表达式和参数都具有一个相关的数据类型。数据类型用于指定某个对象可保存的数据的类型。

  SQL Server系统的数据类型主要有:数值类型、日期和时间类型、字符类型、其它数据类型。


一、数值类型

  根据取值范围的不同,数值型可以分为整数型、非整数型、布尔型。数值型也可以根据其精度分为精确数字型、近似数字型。


1. 整数型

(1)bigint :长整型,取值范围从-2^63到2^63-1,占用8个字节。

(2)int :整型,取值范围从-2^31到2^31-1,占用4个字节。

(3)smallint :短整型,取值范围从-2^15到2^15-1,占用2个字节。

(4)tinyint :微整型,取值范围从0到255,占用1个字节。

2. 非整数型

(1)decimal 和 numeric,带固定精度和小数位的数据数据类型。

(2)money :货币型,占8个字节,可以有4位小数。

(3)smallmoney,占4个字节,可以有4位小数。

(4)float:多精度浮点型,占用的字节根据其小数的位数而定。

(5)real:单精度浮点型,占用4个字节。


3. 布尔型

(1)bit,取值为0、1、NULL三者之一。字符串值 TRUE 和 FALSE 可以转换为以下 bit 值:TRUE 转换为 1,FALSE 转换为 0。



二、日期和时间类型

1. 日期时间型

(1)datetime :日期范围从1753年1月1日到9999年12月31日,精确到3.33毫秒,占用8个字节。

(2)smalldatetime :日期范围从1900年1月1日到2079年6月6日,精确到分钟,占用4个字节。

(3)datetimeoffset :日期范围从公元元年1月1日到9999年12月31日,精确到100纳秒,并且可以指定时区偏移量,占用10个字节。自SQL Server 2008引入。

(4)datetime2 :日期范围从公元元年1月1日到9999年12月31日,精确到100纳秒,占用6至8个字节。自SQL Server 2008引入。


2. 日期型

(1)date :日期范围从公元元年1月1日到9999年12月31日,精确到1天,占用3个字节。自SQL Server 2008引入。


3. 时间型

(1)time :精确到100纳秒,并且可以指定时区偏移量,占用5个字节。自SQL Server 2008引入。


说明:datetime实际上是由2部分组成。第1部分是一个4字节的整型,保存了自基准日期以来的日期的差值;第2部分是一个4字节的整型,保存了自午夜开始的累积的毫秒数。



三、字符类型

1. 字符串类型

(1)char :固定长度字符串型,每个字符占1个字节,最大8060个字节。

(2)varchar :可变长度字符串型。

(3)text :可变长度字符类型。


2. Unicode字符串类型

(1)nchar :固定长度Unicode字符串型,每个Unicode字符占2个字节。

(2)nvarchar :可变长度Unicode字符串型。

(3)ntext :可变长度Unicode字符类型,最大2^31-1个字节。


3. 二进制字符串类型

(1)binary :固定长度二进制数据类型

(2)varbinary :长度可变的二进制数据类型。

(3)image :长度可变的二进制数据类型。


注意:在 SQL Server 的未来版本中将删除 ntext、text 和 image 数据类型,请改用 nvarchar(max)、varchar(max) 和 varbinary(max)。



四、其它数据类型
(1)cursor: 游标。

(2)timestamp:时间戳,占用8个。通常用于行版本控制。

(3)uniqueidentifier :GUID类型,占16个字节。


  还有hierarchyid、sql_variant、xml、table等数据类型。

注意:不推荐使用 timestamp 语法,后续版本的 Microsoft SQL Server 将删除该功能。


本文出自 “我们一起追过的MSSQL” 博客,谢绝转载!

SQL Server 数据类型简介,布布扣,bubuko.com

SQL Server 数据类型简介

上一篇:mysql 开启 general_log


下一篇:Spring Security 学习之数据库认证