首页 理论教育 SQLServer2005数据类型-数据库基础与应用

SQLServer2005数据类型-数据库基础与应用

时间:2023-11-04 理论教育 版权反馈
【摘要】:在SQL Server 2005中,指定对象的数据类型定义了该对象的4个特征:●对象所含的数据类型。SQL Server 2005提供了25种系统数据类型,另外还允许用户自定义数据类型。decimal和numeric数据类型用于存储带小数且数值确定的数据,SQL Server 2005中可以把它们视为相同的数据类型。货币数据类型表示货币数量,在Microsoft SQL Server 2005中,货币数据的数据类型是money和smallmoney。在SQL Server 2005中,Unicode数据以nchar、nvarchar和ntext数据类型存放。timestamp以二进制格式表示SQL Server活动的先后顺序。

SQLServer2005数据类型-数据库基础与应用

数据类型是指列、存储过程参数、表达式和局部变量的数据特征,它决定了数据的存储格式,代表了不同的信息类型。

在SQL Server 2005中,指定对象的数据类型定义了该对象的4个特征:

●对象所含的数据类型。

●所存储值的长度或大小。

●数字精度。

●数值小数位数。

SQL Server 2005提供了25种系统数据类型,另外还允许用户自定义数据类型。下面将对这些数据类型分别加以介绍。

1.数值数据类型

数值数据类型分为整数和小数两类,整数类型包括bigint、int、smallint、tinyint、bit,小数类型包括decimal[(p[,s])]、numeric[p(,s)]、float[(n)]、real、money、smallmoney。

(1)整数类型

●bigint用于存储-263~263-1的整型数据,存储大小为8 B。

●int用于存储-231~231-1的整型数据,存储大小为4 B。

●smallint用于存储-215~215-1的整型数据,存储大小为2 B。

●tinyint用于存储0~255的整型数据,存储大小为1 B。

●bit用于存储整数,但只能存储0、1或NULL(空值),一般用于逻辑判断中。如用户

在bit类型的字段中输入0和1之外的任何数据,系统均以1来处理。

(2)小数类型

●精确数值数据类型decimal[(p[,s])]和numeric[(p[,s])]。decimal和numeric数据类型用于存储带小数且数值确定的数据,SQL Server 2005中可以把它们视为相同的数据类型。这里p表示数值的全部位数,取值范围为1~38,其中包含小数部分的位数,但不包含小数点在内,s表示小数的位数,整数部分由p-s而得到。

●近似浮点数字数据类型float[(n)]和real。float数据类型用于存储-1.79E+308~1.79E+308的浮点数字数据。n(1~53)为用于存储科学记数法浮点数尾数的位数。real数据类型的取值范围为-3.40E38~3.40E38,占用4 B的存储空间。

货币数据类型money和smallmoney。货币数据类型表示货币数量,在Microsoft SQL Server 2005中,货币数据的数据类型是money和smallmoney。在这两种类型的字段中输入货币数据时,必须在数值前加上一个货币符号。money数据类型要求8 B,small-money数据类型要求4 B。

2.字符类型

字符数据是由字母、数字和符号组合而成的数据。例如,‘publisher’、‘9454-@co’都是合法的字符数据。

字符数据类型包含字符串和二进制两类数据类型。字符串数据类型包括char、varchar和text。char是固定长度字符串,最大为8KB。varchar是变长度字符数据,长度不超过8KB。text可以存储超过8KB的字符数据。(www.xing528.com)

二进制数据类型包括binary、varbinary和image。

binary[(n)]是n位固定长度的二进制数据。n的取值范围是1~8000。存储空间的大小为(n+4)B,如果输入数据超长,则多余部分将被截掉。

varbinary[(n)]是n位变长度的二进制数据。n的取值范围是1~8000。存储空间的大小为(n+4)B。

image数据类型实际上是一种变长的二进制数据类型,用于存储图片数据。

3.日期和时间类型

日期和时间数据类型包括datetime和smalldatetime。datetime存储的日期从1753年1月1日到9999年12月31日,每一个值要求8B;smalldatetime存储从1900年1月1日到2079年12月31日,每一个值要求4 B。

设置日期格式的命令如下:

其中,format|@format_var是日期的格式。有效参数包括MDY、DMY、YMD、YDM、MYD、DYM。默认格式为MDY。

4.空值

在创建表时,如果在定义字段列后面,没有说明是否为“空”,则系统默认该字段列允许为空值(NULL)。注意:空值既不是0也不是空格,是没有值。

5.其他类型

(1)Unicode数据类型

Unicode数据类型包括nchar、nvarchar和ntext。

在SQL Server 2005中,Unicode数据以nchar、nvarchar和ntext数据类型存放。当列的长度变化时,便用nvarchar数据类型,最多可以存储4000个字符。当列的长度固定不变时,使用nchar数据类型,最多可以存储4000个字符。如果需要存储的字符数多于4000,应使用ntext数据类型存储。

(2)特殊数据类型

在Microsoft SQL Server 2005中,特殊数据类型有两种:timestamp和uniqueidentifier。

timestamp以二进制格式表示SQL Server活动的先后顺序。

uniqueidentifier以十六进制数字表示一个全局唯一的标识号。

(3)用户自定义数据类型

Microsoft SQL Server 2005允许在系统数据类型的基础上,建立用户自定义的数据类型。用户自定义的数据类型可以像系统数据类型一样使用,并且还可以绑定默认规则。

注意:用户自定义数据类型并不是真正的新数据类型,它是描述已有数据类型的一种方式,并且提供了一种加强数据库或服务器内部和它们之间数据类型一致性的机制,这还能简化对规则和默认值的管理。

用户自定义的数据类型不是数据库对象,因此它不会插入到sysobjects表中,而是插入到systypes表中。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈