当前位置: 首页 > 图文教程 > 数据库 > MSSQL > MSSQL数据类型及长度限制详细说明

MSSQL
SQL Server--全文本检索的应用(一)
SQL 2005的SSIS与Oracle的迁移性能
SQL优化实例:从运行30分钟到运行只要30秒
无法在SQL Server2005 Manger Studio 中录入中文的问题
SQL Artisan多表查询和统计
SQL Server数据库开发人员在应聘时经常被问到哪些问题
一个完整的SQL SERVER数据库全文索引的示例
SQL Server安全之加密术和SQL注入攻击
如何对SQL Server中的tempdb“减肥”
SQL Server 2005升级的十个步骤
如何在SQL Server开发中融入极限编程技术
SQL Server应用程序高级SQL注入(下)
SQL Server应用程序高级SQL注入(上)
SQL Server连接中的常见错误
IIS中SQL Server数据库的安全问题
SQL Server 2005区域配置和安全工具
保护 SQL Server 的十个步骤
如何利用SQL Server 2000的复制选项
SQL Server 数据库使用备份还原造成的孤立用户和对象名‘xxx’无效的错误的解决办法
SQL SERVER 2005同步复制技术的应用

MSSQL数据类型及长度限制详细说明


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 91 ::
收藏到网摘: n/a

在 Microsoft® SQL Server™ 中,每个列、局部变量、表达式和参数都有一个相关的数据类型,这是指定对象可持有的数据类型(整型、字符、money 等等)的特性。 SQL Server 提供系统数据类型集,定义了可与 SQL Server 一起使用的所有数据类型。下面列出系统提供的数据类型集。
可以定义用户定义的数据类型,其是系统提供的数据类型的别名。有关用户定义的数据类型的更多信息,请参见 sp_addtype 和创建用户定义的数据类型。
当两个具有不同数据类型、排序规则、精度、小数位数或长度的表达式通过运算符进行组合时:
通过将数据类型的优先顺序规则应用到输入表达式的数据类型来确定所得值的数据类型。有关更多信息,请参见数据类型的优先顺序。

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

结果的精度、小数位数及长度取决于输入表达式的精度、小数位数及长度。有关更多信息,请参见精度、小数位数和长度。
SQL Server 为 SQL-92 兼容性提供了数据类型同义词。有关更多信息,请参见数据类型同义词。
精确数字
整数
bigint 从 -2^63 (-9223372036854775808) 到 2^63-1 (9223372036854775807) 的整型数据(所有数字)。
int 从 -2^31 (-2,147,483,648) 到 2^31 - 1 (2,147,483,647) 的整型数据(所有数字)。
smallint 从 -2^15 (-32,768) 到 2^15 - 1 (32,767) 的整数数据。
tinyint 从 0 到 255 的整数数据。
bit
bit 1 或 0 的整数数据。
decimal 和 numeric
decimal 从 -10^38 +1 到 10^38 –1 的固定精度和小数位的数字数据。
numeric 功能上等同于 decimal。

money 和 smallmoney
money 货币数据值介于 -2^63 (-922,337,203,685,477.5808) 与 2^63 -1 (+922,337,203,685,477.5807) 之间,精确到货币单位的千分之十。
smallmoney 货币数据值介于 -214,748.3648 与 +214,748.3647 之间,精确到货币单位的千分之十。

近似数字
float 从 -1.79E + 308 到 1.79E + 308 的浮点精度数字。
real 从 -3.40E + 38 到 3.40E + 38 的浮点精度数字。

datetime 和 smalldatetime
datetime 从 1753 年 1 月 1 日到 9999 年 12 月 31 日的日期和时间数据,精确到百分之三秒(或 3.33 毫秒)。
smalldatetime 从 1900 年 1 月 1 日到 2079 年 6 月 6 日的日期和时间数据,精确到分钟。
字符串
char 固定长度的非 Unicode 字符数据,最大长度为 8,000 个字符。
varchar 可变长度的非 Unicode 数据,最长为 8,000 个字符。
text 可变长度的非 Unicode 数据,最大长度为 2^31 - 1 (2,147,483,647) 个字符。
Unicode 字符串
nchar 固定长度的 Unicode 数据,最大长度为 4,000 个字符。
nvarchar 可变长度 Unicode 数据,其最大长度为 4,000 字符。sysname 是系统提供用户定义的数据类型,在功能上等同于 nvarchar(128),用于引用数据库对象名。
ntext 可变长度 Unicode 数据,其最大长度为 2^30 - 1 (1,073,741,823) 个字符。

二进制字符串
binary 固定长度的二进制数据,其最大长度为 8,000 个字节。
varbinary 可变长度的二进制数据,其最大长度为 8,000 个字节。
image 可变长度的二进制数据,其最大长度为 2^31 - 1 (2,147,483,647) 个字节。

其它数据类型
cursor 游标的引用。
sql_variant
一种存储 SQL Server 支持的各种数据类型(text、ntext、timestamp 和 sql_variant 除外)值的数据类型。
table
一种特殊的数据类型,存储供以后处理的结果集。
timestamp
数据库范围的唯一数字,每次更新行时也进行更新。
uniqueidentifier
全局唯一标识符 (GUID)。