数据类型名称 | 类 别 |
长度(以字
节为单位)
| 数 据 特 点 |
Bit
|
整型
|
1
|
该大小容易产生误导。表中的第1个
Bit数据类型占1个字节。其余7个位也
用作Bit数据类型。允许null值以使其占
用一个额外字节
|
Bigint
|
整型
|
8
|
可处理日常用到的越来越大的数,其取
值范围为–263 ~ 263–1的整数
|
Int
|
整型
|
4
|
取值范围为–2
147
483
648 ~ 2
147
483
647的整数
|
SmallInt
|
整型
|
2
|
取值范围为–32 768 ~ 32 767的整数
|
TinyInt
|
整型
|
1
|
取值范围为0~255的整数
|
Decimal/Numeric
|
十进制/数字型
|
可变
|
固定精度,取值范围为–1038–1 ~ 1038–1。
两者含义相同
|
Money
|
货币
|
8
|
货币单位,取值范围为–263 ~ 263,精确
到4个小数位。注意货币单位可以是任
意货币,不限于美元
|
SmallMoney
|
货币
|
4
|
货币单位,取值范围为–214 748.364 8 ~
+214 748.364 7
|
Float (ANSI
的Real)
|
近似小数
|
可变
|
接受一个1~53的参数(如Float(20))来
决定其大小与精度。注意参数值表示位数,
不是字节数。 取值范围为
–1.79E + 308 ~ 1.79E + 308
|
DateTime
|
日期/时间
|
8
|
日期与时间数据,取值范围为1753年1
月1日~ 9999年12月31日,精确到0.03秒
|
DateTime2
|
日期/时间
|
可变(6~8)
|
新扩展的DateTime典型数据类型。支持更
大的日期范围和更高的时间部分精度(精
确到100纳秒)。与DataTime一样,它不包
含时区信息,但与.NET DateTime
数据类型相对应
|
SmallDateTime
|
日期/时间
|
4
|
日期与时间,取值范围为1900年1月1日
~2079年6月6日,精确到分钟
|
DateTimeOffset
|
日期/时间
|
可变
(8~10)
|
类似于DateTime数据类型,但有一个相对
于U-TC时间的–14:00~+14:00的偏移量。
时间在内部存储为UTC时间,任何比较、
排序或索引都将基于该统一的时区
|
Date
|
日期/时间
|
3
|
只存储Gregorian日历定义的0001年1月1日
~9999年12月31日的日期数据。采取ANSI
标准日期格式(YYYY-MM-DD),但会从
其他一些格式隐式转换
|
Time
|
日期/时间
|
可变(3~5)
|
只存储用户可选精度为100纳秒(默认)的时间数据
|
Cursor
|
特殊数字
|
1
|
指向游标的指针,只占用一个字节。记住组
成实际游标的结果集也占用内存,占用内存
的大小取决于结果集
|
Timestamp/ rowversion |
特殊数字
(二进制)
|
8
|
给定数据库中的唯一特殊值。即使UPDATE
语句没有引用timestamp列(时间标记),其
值在插入或更新记录时也会由数据库自动
设置(不允许直接更新timestamp字段)
|
数据类型名称 | 类 别 | 长度(以字 节为单位) | 数 据 特 点 |
| ||||
| UniqueIdentifier | 特殊数字 (二进制) | 16 | 特殊的全局唯一标识符(GUID),必须 保证其在内存空间和时间内的唯一性 | ||||
| Char | 字符 | 可变 | 定长字符数据。比设定长度短时使用空 格填充,为非Unicode数据,指定的最大长 度为8000字符 | ||||
| VarChar | 字符 | 可变 | 长度可变的字符数据。比设定长度短时不 使用空格填充,为非Unicode数据。允许最大 长度为8000字符,但可以使用max关键字表 示其长度可足够大(数 据长度可达231字节) | ||||
| Text | 字符 | 可变 | 从SQL Server 2005开始向后兼容支持该 类型。可使用varchar(max)代替 | ||||
| NChar | Unicode | 可变 | 定长Unicode字符数据。比设定长度短 时使用空格填充。指定的最大长度为4000字符 | ||||
| NVarChar | Unicode | 可变 | 可变长度的Unicode字符数据。比设定长 度短时不使用空格填充。允许最大长度为 4000字符,但可以使用max关键字表示 其长度可足够大(数据长度可达231字节) | ||||
| Ntext | Unicode | 可变 | 可变长度的Unicode字符数据。类似 Text数据类型,仅用作向后兼容。可使 用nvarchar(max)代替 | ||||
| Binary | 二进制 | 可变 | 定长二进制数据,最大长度为8000字节 | ||||
| VarBinary | 二进制 | 可变 | 可变长度二进制数据,最大特定长度为 8 000字节,可使用max关键字使其作为 BLOB(大对象)字段(数据长可达231字节) | ||||
| Image | 二进制 | 可变 | 从SQL Server 2005开始向后兼容支持该 类型。可使用varbinary(max)代替 | ||||
| Table | 其他 | 特殊 | 主要用于操作结果集,通常作为用户自定义 函数(UDF)的结果输出或作为存储过程 的参数。在表的定义中不作为可用的数 据类型(不可以嵌套表) | ||||
| HierarchyID | 其他 | 特殊 | 维护层次结构定位信息的特殊数据 类型。提供特定于层次结构需要的特 殊功能。允许进行深度、父/子关系和索 引比较。实际大小随层次结构中的节点 数和平均深度而变 | ||||
| Sql_variant | 其他 | 特殊 | 与VB和C++中的变量基本无关。其实质 是用于保存大多数其他SQLServer数据 类型的容器。当列或函数需要处理多 种数据类型时可使用这种数据类型。 与VB不同的是,使用这种数据类型要 将其显式转换为更具体的数据类型 | ||||
| XML | 字符 | 可变 | 定义一个字符字段用作XML数据。用 于针对XML模式的数据验证和使用特 殊的面向XML的函数 | ||||
| CLR | 其他 | 可变 | 随CLR对象的特性而变,CLR对象支持 基于自定义数据类型的CLR。随 SQL Server 2012附带的空间数 据类型GEOMETRY和GEOGRAPHY 实现为CLR类型 |
(续)
数据类型名称
|
类 别
|
长度(以字
节为单位)
|
数 据 特 点
|
UniqueIdentifier
|
特殊数字
(二进制)
|
16
|
特殊的全局唯一标识符(GUID),必须保证
其在内存空间和时间内的唯一性
|
Char
|
字符
|
可变
|
定长字符数据。比设定长度短时使用空
格填充,为非Unicode数据,指定的最大
长度为8000字符
|
VarChar
|
字符
|
可变
|
长度可变的字符数据。比设定长度短时不
使用空格填充,为非Unicode数据。允许最
大长度为8000字符,但可以使用max关
键字表示其长度可足够大(数据长度可达231字节)
|
Text
|
字符
|
可变
|
从SQL Server 2005开始向后兼容支持该
类型。可使用varchar(max)代替
|
NChar
|
Unicode
|
可变
|
定长Unicode字符数据。比设定长度短时使
用空格填充。指定的最大长度为4000字符
|
NVarChar
|
Unicode
|
可变
|
可变长度的Unicode字符数据。比设定长度
短时不使用空格填充。允许最大长度为4000
字符,但可以使用max关键字表示其长度
可足够大(数据长度可达231字节)
|
Ntext
|
Unicode
|
可变
|
可变长度的Unicode字符数据。类似Text数
据类型,仅用作向后兼容。可使
用nvarchar(max)代替
|
Binary
|
二进制
|
可变
|
定长二进制数据,最大长度为8000字节
|
VarBinary
|
二进制
|
可变
|
可变长度二进制数据,最大特定长度为8000
字节,可使用max关键字使其作为BLOB(大对
象)字段(数据长可达231字节)
|
Image
|
二进制
|
可变
|
从SQL Server 2005开始向后兼容支持该类型。
可使用varbinary(max)代替
|
Table
|
其他
|
特殊
|
主要用于操作结果集,通常作为用户自定义
函数(UDF)的结果输出或作为存储过程的参数。
在表的定义中不作为可用的数
据类型(不可以嵌套表)
|
HierarchyID
|
其他
|
特殊
|
维护层次结构定位信息的特殊数据类型。提
供特定于层次结构需要的特殊功能。允许进
行深度、父/子关系和索引比较。实际大小随
层次结构中的节点数和平均深度而变
|
Sql_variant
|
其他
|
特殊
|
与VB和C++中的变量基本无关。其实质是
用于保存大多数其他SQL Server数据类型的
容器。当列或函数需要处理多种数据类型时可
使用这种数据类型。与VB不同的是,使用
这种数据类型要将其显式转换为
更具体的数据类型
|
XML
|
字符
|
可变
|
定义一个字符字段用作XML数据。用于针对
XML模式的数据验证和使用特殊的面向XML的函数
|
CLR
|
其他
|
可变
|
随CLR对象的特性而变,CLR对象支持基于
自定义数据类型的CLR。随SQL Server
2012附带的空间数据类型GEOMETRY和
GEOGRAPHY实现为CLR类型
|