SQL Server提供了一个系统数据类型集,它定义了与SQL Server一起使用的所有数据类型。

定义数据类型可以定义用户,这是一个别名数据类型的系统提供的。有关用户定义数据类型的更多信息,见sp_addtype和创建一个用户定义的数据类型。
当两个具有不同数据类型、排序规则、精度、数字或长度的表达式通过运算符合并时:
通过将数据类型的优先规则应用于输入表达式的数据类型来确定值的数据类型。


如果结果数据类型为char、varchar、nvarchar文本、nchar或ntext,排名规则的结果值的排序规则优先级规则决定。有关更多信息,见的排序规则的优先顺序。


结果的准确度、小数位数和长度取决于输入表达式的准确度、位数和长度。
SQL Server提供的SQL-92兼容数据类型的同义词。更多信息,参见数据类型的同义词。

确切的数字

整数

bigint整数数据(均数)从2 ^ 63(922337203685477580)2(922337203685477580)^ 63-1。

Int - 2 - 31(- 2147483648)到2 - 31 - 1(2147483647)整数数据(所有数字)。

2 ^ SmallInt从15(32768)2 ^ 15 - 1(32767)整数数据。

从0到255的整数数据Tinyint。

点

位1或0整数数据。

decimal和numeric

十进制固定精度和十进制数字数据- 10 + 38 + 1至10 - 38 - 1。

数值在功能上等同于十进制。


钱和smallmoney

金钱货币数据值是2 ^ 63之间-(- 922337203685477.5808)和2 ^ 63 - 1(+ 922337203685477.5807),这正是10 / 1000的货币单位。

货币的价值-214748.3648 smallmoney数据和214748.3647之间,精确到10 / 1000的货币单位。


近似数

从-1.79E + 308 + 308 1.79e浮点精度数浮。

真正从-3.40E + 38 + 38 3.40e浮点精度数。


datetime和smalldatetime

从1753年1月1日到12月31日,9999的日期,日期和时间数据,精确到秒的百分之(或3.33毫秒)。

smalldatetime日期和时间数据从1900年1月1日到2079年6月6日,到了分钟。

字符串

字符长度非Unicode字符数据,最大长度为8000个字符。

varchar可变长度的非Unicode数据,最多可有8000个字符。

文本长度可变的非Unicode数据,最大长度为2×31 - 1(2147483647)字符。

Unicode字符串

nchar固定长度的Unicode数据的最大长度是4000个字符。

nvarchar可变长度的Unicode数据的最大长度为4000个字符。Sysname是系统提供用户定义的数据类型,其功能相当于nvarchar(128),指的是数据库对象的名称。

ntext可变长度的Unicode数据与2 ^ 30最大长度1个字符(1073741823)。


二进制字符串

二进制固定长度二进制数据,最大长度为8000字节。
varbinary可变长度的二进制数据最大长度8000个字节。
最大长度为2×31 - 1(2147483647)字节的图像可变长度二进制数据。


其他数据类型

光标指针的引用。

sql_variant
数据类型存储不同数据类型的值(除文字、ntext、时间戳,并sql_variant)的SQL Server支持。

表
存储结果集以便以后处理的特殊类型的数据。

时间戳
每次更新行时,数据库范围的惟一数量都会被更新。

唯一的标识符
全局唯一标识符(GUID)。