整数值
bigi nt 自-2^63 至2^63-1 的整数值。
Int 自-2^31 至2^31-1 的整数值。
Smallint 自-2^15 到2^15-1 的整数值。
Tinyint 从0 到255 的整数值。
Bit 其值为1 或0 的整数值。
Decimal 固定有效位数及小数字数的数字数据型别,其值为从-10^38+1 到10^38-1(decimal 值也可以定义为 numeric ,值的范围相同)。
money 从-2^63 到2^63-1 的货币值,精确度到每单位千分之十。
Smallmoney 从-214.748,3648 到+214,748.3647,精确度到每单位千分之十
floa 从-1.79E+308 到1.79E+308 的浮点数数字。(浮点资料是近似值)
real 从-3.40E+38 到3.40E+38 的浮点数数字。(浮点资料是近似值)
日期及时间数据
Datetime 从1753 年1 月1 日到9999 年12 月31 日的日期时间数据,精确度为3.33毫秒。
dmalldatetime 从1900 年1 月1 日到2079 年6 月6 日,精确度为一分钟。
字符字符串
char 固定长度的非Unicode 字符数据,最大长度为8,000 个字符。
varchar 可变长度的非Unicode 数据,最大长度为8,000 个字符。
text 可变长度的非Unicode 数据,最大长度为2^31-1 个字符
nchar 固定长度的Unicode 数据,最大长度为4,000 个字符。
nvarchar 可变长度的Unicode 数据,最大长度为4,000 个字符。
ntext 可变长度的Unicode 数据,最大长度为2^30-1 个字符。
二进制
binary 固定长度的二进制数据,最大长度为8,000 个字节。
varbinary 可变长度的二进制数据,最大长度为8,000 个字节。
image 可变长度的二进制数据,最大长度为2^31-1 个字节。
其它的值
cursor 参照数据指针(数据指针是一个实体,会建立参照到结果集中的某数据列)。
Rowversion 数据库层级的唯一数字,每当一数据列更新时,此数字便随之更新
(rowversion 数据型别在前一个版本的SQL Server 中称为timestamp)。
sql_variant 此数据型别可以储存除了text、ntext、rowversion(timestamp)与
sql_variant 以外的各种SQLServer 支持的数据型别。
Uniqueidentifier 全域唯一识别码(GUID)。
数据类型
在 Microsoft® SQL Server™ 中,每个列、局部变量、表达式和参数都有一个相关的数据类型,这是指定对象可持有的数据类型(整型、字符、money 等等)的特性。SQL Server 提供系统数据类型集,定义了可与 SQL Server 一起使用的所有数据类型。下面列出系统提供的数据类型集。
可以定义用户定义的数据类型,其是系统提供的数据类型的别名。有关用户定义的数据类型的更多信息,请参见 sp_addtype 和创建用户定义的数据类型。
当两个具有不同数据类型、排序规则、精度、小数位数或长度的表达式通过运算符进行组合时:
- 通过将数据类型的优先顺序规则应用到输入表达式的数据类型来确定所得值的数据类型。有关更多信息,请参见数据类型的优先顺序。
- 如果结果数据类型为 char、varchar、text、nchar、nvarchar 或 ntext,则结果值的排序规则由排序规则的优先顺序规则决定。有关更多信息,请参见排序规则的优先顺序。
- 结果的精度、小数位数及长度取决于输入表达式的精度、小数位数及长度。有关更多信息,请参见精度、小数位数和长度。
SQL Server 为 SQL-92 兼容性提供了数据类型同义词。有关更多信息,请参见数据类型同义词。
精确数字
整数
从 -2^63 (-9223372036854775808) 到 2^63-1 (9223372036854775807) 的整型数据(所有数字)。
从 -2^31 (-2,147,483,648) 到 2^31 - 1 (2,147,483,647) 的整型数据(所有数字)。
从 -2^15 (-32,768) 到 2^15 - 1 (32,767) 的整数数据。
从 0 到 255 的整数数据。
bit
1 或 0 的整数数据。
decimal 和 numeric
从 -10^38 +1 到 10^38 –1 的固定精度和小数位的数字数据。
功能上等同于 decimal。
money 和 smallmoney
货币数据值介于 -2^63 (-922,337,203,685,477.5808) 与 2^63 - 1 (+922,337,203,685,477.5807) 之间,精确到货币单位的千分之十。
货币数据值介于 -214,748.3648 与 +214,748.3647 之间,精确到货币单位的千分之十。
近似数字
从 -1.79E + 308 到 1.79E + 308 的浮点精度数字。
从 -3.40E + 38 到 3.40E + 38 的浮点精度数字。
datetime 和 smalldatetime
从 1753 年 1 月 1 日到 9999 年 12 月 31 日的日期和时间数据,精确到百分之三秒(或 3.33 毫秒)。
从 1900 年 1 月 1 日到 2079 年 6 月 6 日的日期和时间数据,精确到分钟。
字符串
固定长度的非 Unicode 字符数据,最大长度为 8,000 个字符。
可变长度的非 Unicode 数据,最长为 8,000 个字符。
可变长度的非 Unicode 数据,最大长度为 2^31 - 1 (2,147,483,647) 个字符。
Unicode 字符串
固定长度的 Unicode 数据,最大长度为 4,000 个字符。
可变长度 Unicode 数据,其最大长度为 4,000 字符。sysname 是系统提供用户定义的数据类型,在功能上等同于 nvarchar(128),用于引用数据库对象名。
可变长度 Unicode 数据,其最大长度为 2^30 - 1 (1,073,741,823) 个字符。
二进制字符串
固定长度的二进制数据,其最大长度为 8,000 个字节。
可变长度的二进制数据,其最大长度为 8,000 个字节。
可变长度的二进制数据,其最大长度为 2^31 - 1 (2,147,483,647) 个字节。
其它数据类型
游标的引用。
一种存储 SQL Server 支持的各种数据类型(text、ntext、timestamp 和 sql_variant 除外)值的数据类型。
一种特殊的数据类型,存储供以后处理的结果集。
数据库范围的唯一数字,每次更新行时也进行更新。
全局唯一标识符 (GUID)。