SQL Server2005 中的数据类型总结
SQL Server 2005 中的数据类型归纳为下列类别:
精确数字
|
近似数字
日期和时间
字符串
|
Unicode字符串
|
二进制字符串
|
其他数据类型
|
1、精确数字
I) 整型数据类型int、bigint、smallint 和 tinyint
数据类型 |
范围 |
存储 |
bigint |
-2^63 (-9,223,372,036,854,775,808) 到 2^63-1 (9,223,372,036,854,775,807) |
8 字节 |
int |
-2^31 (-2,147,483,648) 到 2^31-1 (2,147,483,647) |
4 字节 |
smallint |
-2^15 (-32,768) 到 2^15-1 (32,767) |
2 字节 |
tinyint |
0 到 255 |
1 字节 |
II) bit 可以取值为 1、0 或 NULL 的整数数据类型。如果表中的列为 8 bit 或更少,则这些列作为 1 个字节存储。如果列为 9 到 16 bit,则这些列作为 2 个字节存储,以此类推。字符串值 TRUE 和 FALSE 可以转换为以下 bit 值:TRUE 转换为 1,FALSE 转换为 0。
III) decimal 和 numeric,两者都是带固定精度和小数位数的数值数据类型。decimal[ (p[ , s] )] 和 numeric[ (p[ , s] )] 两者都是固定精度和小数位数。使用最大精度时,有效值从 - 10^38 +1 到 10^38 - 1。numeric 在功能上等价于 decimal。p(精度)最多可以存储的十进制数字的总位数,包括小数点左边和右边的位数。该精度必须是从 1 到最大精度 38 之间的值。默认精度为 18。s(小数位数)小数点右边可以存储的十进制数字的最大位数。小数位数必须是从 0 到 p 之间的值。仅在指定精度后才可以指定小数位数。默认的小数位数为 0;因此,0 <= s <= p。最大存储大小基于精度而变化。
Ⅳ) money 和 smallmoney,两者是 代表货币或货币值的数据类型。
数据类型 |
范围 |
存储 |
money |
-922,337,203,685,477.5808 到 922,337,203,685,477.5807 |
8 字节 |
smallmoney |
-214,748.3648 到 214,748.3647 |
4 字节 |
money 和 smallmoney 数据类型精确到它们所代表的货币单位的万分之一。
2、近似数字 float 和 real,两者用于表示浮点数值数据的大致数值数据类型。浮点数据为近似值;因此,并非数据类型范围内的所有值都能精确地表示。
数据类型 |
范围 |
存储 |
float |
-1.79E + 308 至 -2.23E - 308、0 以及 2.23E - 308 至 1.79E + 308 |
取决于 n 的值 |
real |
-3.40E + 38 至 -1.18E - 38、0 以及 1.18E - 38 至 3.40E + 38 |
4 字节 |
float [ ( n ) ] 其中 n 为用于存储 float 数值尾数的位数,以科学记数法表示,因此可以确定精度和存储大小。如果指定了 n,则它必须是介于 1 和 53 之间的某个值。n 的默认值为 53。
3、日期和时间 datetime 和 smalldatetime 两者用于表示某天的日期和时间的数据类型。
数据类型 |
范围 |
精确度 |
datetime |
1753 年 1 月 1 日到 9999 年 12 月 31 日 |
3.33 毫秒 |
smalldatetime |
1900 年 1 月 1 日到 2079 年 6 月 6 日 |
1 分钟 |
datetime用两个 4 字节的整数存储,第一个 4 字节存储“基础日期”(即 1900 年 1 月 1 日)之前或之后的天数。基础日期是系统参照日期。另外一个 4 字节存储天的时间(以午夜后经过的毫秒数表示)。
smalldatetime 数据类型存储天的日期和时间,但精确度低于 datetime。数据库引擎将 smalldatetime 值存储为两个 2 字节的整数。第一个 2 字节存储 1900 年 1 月 1 日后的天数。另外一个 2 字节存储午夜后经过的分钟数。
4、字符串char [ ( n ) ],varchar [ ( n | max ) ],text
char [ ( n ) ]可以存储字母数字值,固定长度,非 Unicode 字符数据,长度为 n 个字节。n 的取值范围为 1 至 8,000,存储大小是 n 个字节。如果未在数据定义或变量声明语句中指定 n,则默认长度为 1。如果在使用 CAST 和 CONVERT 函数时未指定 n,则默认长度为 30。
varchar [ ( n | max ) ] 可以存储字母数字值,可变长度,非 Unicode 字符数据。n 的取值范围为 1 至 8,000。max 指示最大存储大小是 2^31-1 个字节。存储大小是输入数据的实际长度加 2 个字节。所输入数据的长度可以为 0 个字符。如果未在数据定义或变量声明语句中指定 n,则默认长度为 1。如果在使用 CAST 和 CONVERT 函数时未指定 n,则默认长度为 30。
text服务器代码页中长度可变的非 Unicode 数据,最大长度为 2^31-1 (2,147,483,647) 个字符。当服务器代码页使用双字节字符时,存储仍是 2,147,483,647 字节。根据字符串,存储大小可能小于 2,147,483,647 字节。
备注:在 Microsoft SQL Server 的未来版本中将删除 ntext、text 和 image 数据类型。请避免在新开发工作中使用这些数据类型,并考虑修改当前使用这些数据类型的应用程序。请改用 nvarchar(max)、varchar(max) 和 varbinary(max)。
5、Unicode字符串 nchar [ ( n ) ],nvarchar [ ( n | max ) ],ntext
nchar [ ( n ) ] ,n 个字符的固定长度的 Unicode 字符数据。n 值必须在 1 到 4,000 之间(含)。存储大小为两倍 n 字节。如果没有在数据定义或变量声明语句中指定 n,则默认长度为 1。如果没有使用 CAST 函数指定 n,则默认长度为 30。
nvarchar [ ( n | max ) ],可变长度 Unicode 字符数据。n 值在 1 到 4,000 之间(含)。max 指示最大存储大小为 2^31-1 字节。存储大小是所输入字符个数的两倍 + 2 个字节。所输入数据的长度可以为 0 个字符。如果没有在数据定义或变量声明语句中指定 n,则默认长度为 1。如果没有使用 CAST 函数指定 n,则默认长度为 30。
ntext是长度可变的 Unicode 数据,最大长度为 2^30 - 1 (1,073,741,823) 个字符。存储大小是所输入字符个数的两倍(以字节为单位)。
备注:如果站点支持多语言,请考虑使用 Unicode nchar 或 nvarchar 数据类型,以最大限度地消除字符转换问题。
6、二进制字符串 binary [ ( n ) ],varbinary [ ( n | max ) ],image
binary [ ( n ) ],varbinary [ ( n | max ) ]两者是固定长度或可变长度的 Binary 数据类型。binary [ ( n ) ] 长度为 n 字节的固定长度二进制数据,其中 n 是从 1 到 8,000 的值。存储大小为 n 字节。如果未在数据定义或变量声明语句中指定 n,则默认长度为 1。如果未使用 CAST 函数指定 n,则默认长度为 30。varbinary [ ( n | max ) ] 可变长度二进制数据。n 可以取从 1 到 8,000 的值。max 指示最大的存储大小为 2^31-1 字节。存储大小为所输入数据的实际长度 + 2 个字节。所输入数据的长度可以是 0 字节。如果未在数据定义或变量声明语句中指定 n,则默认长度为 1。如果未使用 CAST 函数指定 n,则默认长度为 30。
Image长度可变的二进制数据,从 0 到 2^31-1 (2,147,483,647) 个字节。
7、其他数据类型
Ⅰ) 这是变量或存储过程 OUTPUT 参数的一种数据类型,这些参数包含对游标的引用。使用 cursor 数据类型创建的变量可以为空。
有些操作可以引用那些带有 cursor 数据类型的变量和参数,这些操作包括:
DECLARE @local_variable 和 SET @local_variable 语句。
OPEN、FETCH、CLOSE 及 DEALLOCATE 游标语句。
存储过程输出参数。
CURSOR_STATUS 函数。
sp_cursor_list、sp_describe_cursor、sp_describe_cursor_tables 以及 sp_describe_cursor_columns 系统存储过程。
备注:对于 CREATE TABLE 语句中的列,不能使用 cursor 数据类型。
Ⅱ) sql_variant
一种数据类型,用于存储 SQL Server 2005 支持的各种数据类型(不包括 text、ntext、image、timestamp 和 sql_variant)的值。
sql_variant 可以用在列、参数、变量和用户定义函数的返回值中。sql_variant 使这些数据库对象能够支持其他数据类型的值。
Ⅲ)table
一种特殊的数据类型,用于存储结果集以进行后续处理。table 主要用于临时存储一组行,这些行是作为表值函数的结果集返回的。可将函数和变量声明为 table 类型。table 变量可用于函数、存储过程和批处理中。
Ⅳ) timestamp
公开数据库中自动生成的唯一二进制数字的数据类型。timestamp 通常用作给表行加版本戳的机制。存储大小为 8 个字节。
每个数据库都有一个计数器,当对数据库中包含 timestamp 列的表执行插入或更新操作时,该计数器值就会增加。该计数器是数据库时间戳。这可以跟踪数据库内的相对时间,而不是时钟相关联的实际时间。一个表只能有一个 timestamp 列。每次修改或插入包含 timestamp 列的行时,就会在 timestamp 列中插入增量数据库时间戳值。这一属性使 timestamp 列不适合作为键使用,尤其是不能作为主键使用。对行的任何更新都会更改 timestamp 值,从而更改键值。如果该列属于主键,那么旧的键值将无效,进而引用该旧值的外键也将不再有效。如果该表在动态游标中引用,则所有更新均会更改游标中行的位置。如果该列属于索引键,则对数据行的所有更新还将导致索引更新。
使用某一行中的 timestamp 列可以很容易地确定该行中的任何值自上次读取以后是否发生了更改。如果对行进行了更改,就会更新该时间戳值。如果没有对行进行更改,则该时间戳值将与以前读取该行时的时间戳值一致。rowversion 的数据类型为 timestamp 数据类型的同义词,并具有数据类型同义词的行为。在 DDL 语句,请尽量使用 rowversion 而不是 timestamp。如果不指定列名,则 Microsoft SQL Server 2005 Database Engine将生成 timestamp 列名;但 rowversion 同义词不具有这样的行为。在使用 rowversion 时,必须指定列名。不可为空的 timestamp 列在语义上等同于 binary(8) 列。可为空的 timestamp 列在语义上等同于 varbinary(8) 列。
Ⅴ) uniqueidentifier
16 字节 GUID。uniqueidentifier 数据类型的列或局部变量可通过以下方式初始化为一个值:
使用 NEWID 函数。
从 xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx 形式的字符串常量转换,其中,每个 x 是一个在 0-9 或 a-f 范围内的十六进制数字。例如,6F9619FF-8B86-D011-B42D-00C04FC964FF 为有效 uniqueidentifier 值。
比较运算符可与 uniqueidentifier 值一起使用。不过,排序不是通过比较两个值的位模式来实现的。可针对 uniqueidentifier 值执行的运算只有比较运算(=、<>、<、>、<=、>=)以及检查是否为 NULL(IS NULL 和 IS NOT NULL)。不能使用其他算术运算符。除 IDENTITY 之外的所有列约束和属性均可对 uniqueidentifier 数据类型使用。
具有更新订阅的合并复制和事务复制使用 uniqueidentifier 列来确保在表的多个副本中唯一地标识行。
Ⅵ) xml
存储 XML 数据的数据类型。可以在列中或者 xml 类型的变量中存储 xml 实例。存储的 xml 数据类型表示实例大小不能超过 2 GB。
姓名 varchar(20) 10个汉字
身份证 varchar(18) 有的人身份证最后2位有字母
性别 int 1代表男 2 代表女 3 不填默认为人妖
民族 varchar(16) 8个汉字 有少数名族
籍贯 varchar(10) 5个汉字 自己写个数组 固定下 让用户选择即可!
(要是你让他自己写: 新疆维吾尔族自治区 那就 。。。)
所属户主 varchar(20) 10个字 少数名族也有个限度吧。。。
文化程度 int 1代表 中专 2 代表本科 3 代表 硕士 。。。
婚姻状况 char(2) 是,否
职业 varchar(20) 长点的好
工作单位 varchar(50) 限制点长度
中国+省名+公司股份有限公司(这样的组合那就。。。建议用text)
出生日期 datatime
也可以用 varchar(20) 也可以用 int 主要看你日期是如何格式转换的了
地址 varchar(40) 给写20个字 要是太长的话建议用 text 类型
相关推荐
SQL中常用类型使用总结, SQL Server 2005 中的数据类型总结
SQLServer2005_BC.msi 文件是这个向后兼容组件的安装程序,它包含了用于在更新的SQL Server环境中模拟SQL Server 2005环境的特定库和接口。安装此组件后,用户可以继续使用那些设计时依赖SQL Server 2005特性的应用...
本压缩包包含了针对32位和64位系统的两个补丁:SQLServer2005_BC.msi 和 SQLServer2005_BC_x64.msi,主要目的是为了提升SQL Server 2005 Business Intelligence (BI)组件的兼容性和性能。 SQL Server 2005 Business...
在SQL Server 2005中,DTS被SSIS(SQL Server Integration Services)所取代,SSIS是更强大、更灵活的数据集成工具,能够处理复杂的ETL(提取、转换、加载)工作流。尽管如此,为了确保与早期版本的兼容性,SQL ...
这两个文件名——"sqlserver2005sp4-kb2463332-x64-chs_0473159bb4dec7f4e17f3fc152de5e8945d3e3cc.exe"和"sqlserver2005sp4-kb2463332-x86-chs_48ab3b127c355ef499b7ef8630b130868298d891.exe",分别对应了这两个...
以下是对SQL Server数据类型的一个全面而深入的总结,旨在帮助数据库管理员、开发人员及爱好者们更好地理解和运用这些数据类型。 ### 1. 数值类型 数值类型是SQL Server中最基础的数据类型之一,主要包括整型和...
在"SQL Server x64"这个文件中,包含的是64位版本的安装程序,安装后你可以创建数据库、设计表结构、编写SQL查询,实现数据的增删改查,以及利用视图、索引、存储过程等功能提高数据处理效率。同时,SQL Server 2005...
SQL Server 2005提供了强大的数据挖掘功能,可以帮助企业发现隐藏在数据中的价值。 OLAP 在线分析处理(Online Analytical Processing,OLAP)是一种数据分析技术,允许用户快速、交互式地分析大量数据。OLAP技术...
例如,从 SQL Server 2005 升级到 SQL Server 2008 的过程中,如何将原有的 SQL Server 2005 数据库顺利附加到 SQL Server 2008 上就是一个常见的需求。本文将详细介绍如何在 SQL Server 2008 上成功附加 SQL Server...
在本课程中,我们聚焦于"SQL Server 2005盛宴系列之六:新的选择――SQL Server Express 2005"。SQL Server 2005是微软推出的一款强大的关系型数据库管理系统,旨在为企业级应用提供稳定、高效的数据存储和管理解决...
### SQL Server 数据类型详解与自定义数据类型创建 在数据库设计与管理中,理解并熟练掌握数据类型至关重要,因为它们直接影响到数据存储的效率、...希望本文能帮助你更好地理解和应用SQL Server中的数据类型功能。
6. **安装指南**:压缩包中的"SQLServer2005_BC_x64.msi"和"SQLServer2005_BC.msi"是安装程序文件,分别对应64位和32位操作系统。安装过程中,用户需要按照向导提示配置安装选项,如选择安装组件、设置服务账户和...
在64位(X64)系统上安装SQL Server 2005 Express,可以充分利用更大的内存和处理器资源,从而提高数据处理性能。下面我们将详细探讨SQL Server 2005 Express X64的特性、安装过程、使用场景以及相关知识点。 1. **...
标题中的"SQLServer2005_SSMSEE_x64.rar"表明这是一个关于Microsoft SQL Server 2005的管理工具,特别指出是64位版本,并且是压缩包文件。描述中的“2005 管理工具”进一步确认了这个文件是用于管理和维护SQL Server...
1. SQL Server 2008新特性:升级前,首先需要了解SQL Server 2008新增加的功能,如新的数据类型、新的Transact-SQL特性、管理工具改进等。这不仅包括对数据库开发者和数据库管理员(DBA)友好的改进,还包括对数据...
SQL Server 数据库类型对应 Java 中的数据类型 SQL Server 是一个关系数据库管理系统,Java 是一个...了解 SQL Server 数据库类型对应 Java 中的数据类型是非常重要的,这样可以确保在 Java 中正确地处理数据库操作。
SQL Server 2005是微软公司推出的一款关系型数据库管理系统,它在IT领域中扮演着重要的角色,尤其是在数据存储、管理和分析方面。在某些情况下,用户可能需要卸载SQL Server 2005,例如升级到更高版本,或者由于系统...
1. **SQL Server数据库引擎**:这是SQL Server的核心组件,负责存储、处理和管理数据。 2. **Management Studio Express**:这是一个轻量级的数据库管理工具,允许用户连接到SQL Server实例,执行查询,管理数据库...
SQL Server 2005是微软于2005年推出的一款企业级数据库管理系统,它提供了数据存储、处理和分析的能力,广泛应用于各种规模的企业中。该系统支持多种数据库应用程序的开发,包括Web、企业应用程序和数据仓库等。 SP...