SQL数据库的数据类型详细解释

上传人:s9****2 文档编号:456360317 上传时间:2024-02-22 格式:DOC 页数:24 大小:323KB
返回 下载 相关 举报
SQL数据库的数据类型详细解释_第1页
第1页 / 共24页
SQL数据库的数据类型详细解释_第2页
第2页 / 共24页
SQL数据库的数据类型详细解释_第3页
第3页 / 共24页
SQL数据库的数据类型详细解释_第4页
第4页 / 共24页
SQL数据库的数据类型详细解释_第5页
第5页 / 共24页
点击查看更多>>
资源描述

《SQL数据库的数据类型详细解释》由会员分享,可在线阅读,更多相关《SQL数据库的数据类型详细解释(24页珍藏版)》请在金锄头文库上搜索。

1、SQL数据库的数据类型详细解释(1) 二进制数据类型二进制数据包括 Bi nary、Varbi nary 和 ImageBinary数据类型既可以是固定长度的(Binary),也可以是 变长度的。Binary(n)是n位固定的二进制数据。其中,n的取值范围是从1到8000。其存储窨的大小是n + 4 个字节。Varbinary(n) 是n位变长度的二进制数据。其中,n的 取值范围是从1到8000。其存储窨的大小是n + 4个字节,不是n 个字节。在Image数据类型中存储的数据是以位字符串存储的,不 是由SQL Server解释的,必须由应用程序来解释。例如,应用程序 可以使用BMP TIEF

2、、GIF和JPEG格式把数据存储在Image数据 类型中。(2) 字符数据类型字符数据的类型包括 Char,Varchar和Text字符数据是由任何字母、符号和数字任意组合而成的数据。Varchar是变长字符数据,其长度不超过 8KB。Char是定 长字符数据,其长度最多为8KB。超过8KB的ASCII数据可以使用 Text数据类型存储。例如,因为Html文档全部都是ASCII字符, 并且在一般情况下长度超过8KB,所以这些文档可以Text数据类型a1存储在SQL Server中U nicode数据类型Unicode 数据类型包括 Nchar,Nvarchar 和 Ntext在Microsof

3、t SQL Server中,传统的非 Unicode 数据类型允许使用由特定字符集定义的字符。在 SQL Server安装过程中, 允许选择一种字符集。使用 Unicode数据类型,列中可以存储任何 由Unicode标准定义的字符。在 Unicode标准中,包括了以各种字 符集定义的全部字符。使用Uni code数据类型,所战胜的窨是使用非 Unicode数据类型所占用的窨大小的两倍。在 SQL Server 中,Unicode 数据以 Nchar、Nvarchar 和Ntext数据类型存储。使用这种字符类型存储的列可以存储多个字符 集中的字符。当列的长度变化时,应该使用Nvarchar字符类

4、型,这时最多可以存储4000个字符。当列的长度固定不变时,应该使用 Nchar字符类型,同样,这时最多可以存储 4000个字符。当使用 Ntext数据类型时,该列可以存储多于 4000个字符。(4) 日期和时间数据类型日期和时间数据类型包括 Datetime 和Smalldatetime 两种类型日期和时间数据类型由有效的日期和时间组成。例如,有效的日期和时间数据包括“ 4/01/98 12:15:00:00:00 PM ”和“ 1:28:29:15:01AM 8/17/98 ”。前一个数据类型是日期在前,时间在 后一个数据类型是霎时间在前,日期在后。在Microsoft SQLServer中

5、,日期和时间数据类型包括 Datetime和Smalldatetime 两种类 型时,所存储的日期范围是从1753年1月1日开始,到9999年 12月31日结束(每一个值要求8个存储字节)。使用Smalldatetime 数据类型时,所存储的日期范围是 1900年1月1 日开始,到2079年12月31日结束(每一个值要求4个存储字 节)。日期的格式可以设定。设置日期格式的命令如下:Set DateFormat format | format _var| 其中,format | format_var是日期的顺序。有效的参数包括MDY DMY YMD YDM MYD和DYM 在默认情况下,日期格式

6、 为MDY例如,当执行Set DateFormat YMD之后,日期的格式为年月 日 形式;当执行Set DateFormat DMY之后,日期的格式为日 月 有年形式(5)数字数据类型数字数据只包含数字。数字数据类型包括正数和负数、小数(浮点数)和整数整数由正整数和负整数组成,例如39、25、0-2和33967。在Micrsoft SQL Server 中,整数存储的数据类型是Int ,Smallint和Tinyint 。Int数据类型存储数据的范围大于 Smallint数据类型存储数据的范围,而Smalli nt 据类型存储数据的范围大于 Tinyint数据类型存储数据的范围。使用Int数

7、据狗昔存储数据的范围是从-2 147 483 648 到2 147 483 647 (每一个值要求4个字储空间)Numeric节存储空间)。使用Smallint 数据类型时,存储数据的范围从-32 768到32 767 (每一个值要求2个字节存储空间)。使用Tinyint 数 据类型时,存储数据的范围是从0到255 (每一个值要求1个字节存精确小娄数据在SQL Server中的数据类型是Decimal和这种数据所占的存储空间根据该数据的位数后的位数来确在SQL Server中,近似小数数据的数据类型是 Float和Real。例如,三分之一这个分数记作。3333333,当使用近似数据类 型时能准

8、确表示。因此,从系统中检索到的数据可能与存储在该列中 数据不完全一样。(6) 货币数据表示正的或者负的货币数量。在Microsoft SQLServer中,货币数据的数据类型是 Money 禾口 Smallm oneyMoney数据类型要求8个存储字节,Smallmoney数据类型要求4个存储字节。(7)特殊数据类型特殊数据类型包括前面没有提过的数据类型。特殊的数据类型有 3 种,即 Timestamp、Bit 和 Uniqueidentifier。Timestamp用于表示SQLServer活动的先后顺序,以二进 投影的格式表示。Timestamp数据与插入数据或者日期和时间没有关 系。Bi

9、t由1或者0组成。当表示真或者假、ON或者OFF时, 使用Bit数据类型。例如,询问是否是每一次访问的客户机请求可 以存储在这种数据类型的列中。Uniqueidentifier由16字节的十六进制数字组成,表示一个全局唯一的。当表的记录行要求唯一时,GUID是非常有用。例如,在客户标识号列使用这种数据类型可以区别不同的客户。2.用户定义的数据类型用户定义的数据类型基于在 Microsoft SQLServer中提供 的数据类型。当几个表中必须存储同一种数据类型时,并且为保证这些列有相同的数据类型、长度和可空性时,可以使用用户定义的数据 类型。例如,可定义一种称为postal_code的数据类型

10、,它基于Char数据类型。当创建用户定义的数据类型时,必须提供三个数:数据类型 的名称、所基于的系统数据类型和数据类型的可空性。(1)创建用户定义的数据类型创建用户定义的数据类型可以使用 Transact-SQL语句。系 统存储过程sp_addtype可以来创建用户定义的数据类型。其语法形 式如下:sp_addtype type,system_data_bype, null_type其中,type是用户定义的数据类型的名称。system_data_type 是系统提供的数据类型,例如Decimal、nt Char 等等。n ull_type表示该数据类型是如何处理空值的,必须使用单弓I号弓I起

11、来,例女口 NULL、NOT NULL或者NONULL。例子:Use custExec sp_addtype ssn,Varchar(11),Not Null创建一个用户定义的数据类型ssn ,其基于的系统数据类型是变长为11的字符,不允许空。例子:Use custExec sp_addtype birthday,datetime,Null创建一个用户定义的数据类型 birthday ,其基于的系统数 据类型是DateTime,允许空。例子:Use masterExec sp_addtype telepho ne,varchar(24),Not NullEexc sp_addtype fax,

12、varchar(24),Null创建两个数据类型,即teleph one 和fax(2)删除用户定义的数据类型当用户定义的数据类型不需要时,可删除。删除用户定义的数据类型的命令是 sp_droptype type例子:Use masterExec sp_droptype ss n注意:当表中的列还正在使用用户定义的数据类型时,或者在其上面还绑定有默认或者规则时,这种用户定义的数据类型不能删 除。SQL SERVE的字段类型说明以下为SQL SERVER7.(以上版本的字段类型说明。SQL SERVER6.的字段类型说明请参考SQL SERVE提供的说明。字段类型描述bit 0或1的整型数字in

13、t 从-2八31(-2,147,483,648) 至U 2八31(2,147,483,647) 的整型 数字smallint从-2八15(-32,768) 到 2八15(32,767)的整型数字tinyint从0到255的整型数字decimal从-10八38到10八38-1的定精度与有效位数的数字nu meric decimal 的同义词money 从-2八63(-922,337,203,685,477.5808)至 U2八63-1(922,337,203,685,477.5807)的货币数据,最小货币单位千分之十smallmoney 从-214,748.3648 至U 214,748.364

14、7 的货币数据,最小货币单位千分之十float 从-1.79E+308到1.79E+308可变精度的数字 real从-3.04E+38到3.04E+38可变精度的数字datetime 从1753年1月1日到9999年12日31的日期和时间 数据,最小时间单位为百分之三秒或3.33毫秒smalldatetime 从1900年1月1日到2079年6月6日的日期和 时间数据,最小时间单位为分钟timestamp时间戳,一个数据库宽度的唯一数字uniqueidentifier全球唯一标识符 GUIDchar定长非Unicode的字符型数据,最大长度为8000 varchar变长非Uni code的字符

15、型数据,最大长度为 8000 text变长非Unicode的字符型数据,最大长度为2八31-1(2G) nchar定长Unicode的字符型数据,最大长度为8000 nvarchar变长Unicode的字符型数据,最大长度为 8000 ntext变长Unicode的字符型数据,最大长度为2A31-1(2G) binary定长二进制数据,最大长度为8000 varbi nary 变长二进制数据,最大长度为 8000 image变长二进制数据,最大长度为 2A31-1(2G) 1,char,nchar,nvarchar,varchar有什么区别?2,text和ntext有什么区别以及和上面各种字符类有什么区别?3,关于带big和带small的类型,比如:smallint ,nt和bigint ;以及 smalldatetime , datetime 禾口 bigdatetime 有什么区别?两个字符型字段分别定义为 char(10)和varchar(IO),当给它们存入“ 123”这个数据时,char(10)字段占用十个字节的存储空间,而varchar(

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号