数据库常用数据类型

上传人:cn****1 文档编号:488965416 上传时间:2024-01-23 格式:DOCX 页数:6 大小:18.25KB
返回 下载 相关 举报
数据库常用数据类型_第1页
第1页 / 共6页
数据库常用数据类型_第2页
第2页 / 共6页
数据库常用数据类型_第3页
第3页 / 共6页
数据库常用数据类型_第4页
第4页 / 共6页
数据库常用数据类型_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《数据库常用数据类型》由会员分享,可在线阅读,更多相关《数据库常用数据类型(6页珍藏版)》请在金锄头文库上搜索。

1、(1) 整数型整数包括bigint、int、smallint和tinyint,从标识符的含义就可以看出,它们的 表示数范围逐渐缩小。l bigint:大整数,数范围为-263 (-9223372036854775808)263-1 (9223372036854775807),其精度为19,小数位数为0,长度为8字节。l int:整数,数范围为-231 (-2,147,483,648)231 - 1 (2,147,483,647),其 精度为10,小数位数为0,长度为4字节。l smallint:短整数,数范围为-215 (-32768)215 - 1 (32767),其精度为 5, 小数位数为

2、0,长度为2字节。l tinyint:微短整数,数范围为0255,长度为1字节,其精度为3,小数位数 为0,长度为1字节。(2) 精确整数型精确整数型数据由整数部分和小数部分构成,其所有的数字都是有效位,能够以 完整的精度存储十进制数。精确整数型包括decimal和numeric两类。从功能 上说两者完全等价,两者的唯一区别在于decimal不能用于带有identity关键字 的列。声明精确整数型数据的格式是numeric | decimal(p,s),其中p为精度,s为小 数位数,s的缺省值为0。例如指定某列为精确整数型,精度为6,小数位数为 3,即decimal(6,3),那么若向某记录的

3、该列赋值56.342689时,该列实际存储 的是 56.3427。decimal和numeric可存储从-1038 +1至0 1038 -的固定精度和小数位的数 字数据,它们的存储长度随精度变化而变化,最少为5字节,最多为17字节。l精度为19时,存储字节长度为5;l精度为1019时,存储字节长度为9;l精度为2028时,存储字节长度为13;l精度为2938时,存储字节长度为17。例如若有声明numeric(8,3),则存储该类型数据需5字节,而若有声明 numeric(22,5),则存储该类型数据需13字节。注意:声明精确整数型数据时,其小数位数必须小于精度;在给精确整数型数据 赋值时,必须

4、使所赋数据的整数部分位数不大于列的整数部分的长度。(3) 浮点型浮点型也称近似数值型。顾名思义,这种类型不能提供精确表示数据的精度,使 用这种类型来存储某些数值时,有可能会损失一些精度,所以它可用于处理取值 范围非常大且对精确度要求不是十分高的数值量,如一些统计量。有两种近似数值数据类型:float(n)和 real,两者通常都使用科学计数法表示数 据,即形为:尾数 E 阶数,如 5.6432E20,-2.98E10,1.287659E-9 等。l real:使用4字节存储数据,表数范围为-3.40E + 38到3.40E + 38,数据精 度为7位有效数字。l float:定义中的n取值范围

5、是153,用于指示其精度和存储大小。当n在1 24之间时,实际上是定义了一个real型数据,存储长度为4字节,精度为7位 有效数字;当n在2553之间时,存储长度为8字节,精度为15位有效数字。 当缺省n时,代表n在2553之间。float型数据的数范围为-1.79E+308至0 1.79E+308。(4) 货币型SQL Server提供了两个专门用于处理货币的数据类型:money和smallmoney, 它们用十进制数表示货币值。l money :数据的数范围为-263 (-922337203685477.5808)263-1 (922337203685477.5807),其精度为19,小数

6、位数为4,长度为8字节。money 的数的范围与bigint相同,不同的只是money型有4位小数,实际上,money 就是按照整数进行运算的,只是将小数点固定在末4位。l smallmoney:数范围为-231 (-2,147,48.3648)231 - 1 (2,147,48.3647), 其精度为10,小数位数为4,长度为4字节。可见smallmoney与int的关系就 如同money与bigint的关系。当向表中插入money或smallmoney类型的值时,必须在数据前面加上货币表 示符号($),并且数据中间不能有逗号();若货币值为负数,需要在符号$的 后面加上负号(-)。例如:$

7、15000.32, $680,$-20000.9088都是正确的货币 数据表示形式。(5) 位型SQL Server中的位(bit)型数据相当于其他语言中的逻辑型数据,它只存储0 和1,长度为一个字节。但要注意,SQL Server对表中bit类型列的存储作了优 化:如果一个表中有不多于8个的bit列,这些列将作为一个字节存储,如果 表中有9至16个bit列,这些列将作为两个字节存储,更多列的情况依此类 推。当为bit类型数据赋0时,其值为0,而赋非0 (如100)时,其值为1。若表中某列为bit类型数据,那么该列不允许为空值(有关空值概念本节稍后即 做介绍),并且不允许对其建立索引。(6)

8、字符型字符型数据用于存储字符串,字符串中可包括字母、数字和其它特殊符号(如#、 、&等等)。在输入字符串时,需将串中的符号用单引号或双引号括起来, 如百位、”AbcCde”。SQL Server字符型包括两类:固定长度(char)或可变长度(varchar)字符数据 类型。l char(n)定长字符数据类型,其中n定义字符型数据的长度,n在1到8000之间,缺省 为1。当表中的列定义为char(n)类型时,若实际要存储的串长度不足n时,则 在串的尾部添加空格以达到长度n,所以char(n)的长度为n。例如某列的数据类 型为char(20),而输入的字符串为”ahjm1922”,则存储的是字符a

9、hjm1922和 12个空格。若输入的字符个数超出了 n,则超出的部分被截断。l varchar(n)变长字符数据类型,其中n的规定与定长字符型char中n完全相同,但这里n 表示的是字符串可达到的最大长度。varchar(n)的长度为输入的字符串的实际字 符个数,而不一定是n。例如,表中某列的数据类型为varchar(100),而输入的 字符串为”ahjm1922”,则存储的就是字符ahjm1922,其长度为8字节。当列中的字符数据值长度接近一致时,例如姓名,此时可使用char;而当列中 的数据值长度显著不同时,使用varchar较为恰当,可以节省存储空间。Unicode字符型Unicode

10、是“统一字符编码标准”,用于支持国际上非英语语种的字符数据的存储 和处理。SQL Server的Unicode字符型可以存储Unicode标准字符集定义的各 种字符。Unicode 字符型包括 nchar(n)和 nvarchar(n)两类nchar 是固定长度 Unicode 数据的数据类型,nvarchar是可变长度Unicode数据的数据类型,二者均使用 UNICODE UCS-2 字符集。l nchar(n): nchar(n)为包含n个字符的固定长度Unicode字符型数据,n的 值在1与4,000之间,缺省为1。长度为2n字节。若输入的字符串长度不足 n,将以空白字符补足。l nv

11、archar(n): nvarchar(n)为最多包含n个字符的可变长度Unicode字符型 数据,n的值在1与4,000之间,缺省为1。长度是所输入字符个数的两倍。实际上,nchar、nvarchar与char、varchar的使用非常相似,只是字符集不同 (前者使用Unicode字符集,后者使用ASCII字符集)。(8)文本型当需要存储大量的字符数据,如较长的备注、日志信息等等,字符型数据的最长 8000个字符的限制可能使它们不能满足这种应用需求,此时可使用文本型数据。文本型包括text和ntext两类,分别对应ASCII字符和Unicode字符。text类型 可以表示最大长度为231-1

12、 (2,147,483,647)个字符,其数据的存储长度为实际 字符数个字节。ntext可表示最大长度为230 - 1 (1,073,741,823)个Unicode 字符,其数据的存储长度是实际字符个数的两倍(以字节为单位)。(9) 二进制型二进制数据类型表示的是位数据流,包括binary (固定长度)和varbinary (可 变长度)两种。l binary (n):固定长度的n个字节二进制数据。n取值范围为1到8,000,缺 省为1。binary(n)数据的存储长度为n+4字节。若输入的数据长度小于n,则 不足部分用0填充;若输入的数据长度大于n,则多余部分被截断。输入二进制值时,在数据

13、前面要加上0x,可以用的数字符号为09、A-F (字 母大小写均可)。因此,二进制数据有时也被称为十六进制数据。例如0xFF、 0x12A0分别表示值FF和12A0。因为每字节的数最大为FF,故在“0x”格式的 数据每两位占1个字节。l varbinary (n) : n个字节变长二进制数据。n取值范围为1到8,000,缺省 为1。varbinary(n)数据的存储长度为实际输入数据长度+4个字节。(10) 日期时间类型日期时间类型数据用于存储日期和时间信息,包括datetime和smalldatetime两 类。l datetime: datetime类型可表示的日期范围从1753年1月1日

14、到9999年 12月31日的日期和时间数据,精确度为百分之三秒(3.33毫秒或0.00333 秒),例如1到3毫秒的值都表示为0毫秒,4到6毫秒的值都表示为4毫秒。datetime类型数据长度为8字节,日期和时间分别使用4个字节存储。前4字 节用于存储datetime类型数据中距1900年1月1日的天数,为正数表示日 期在1900年1月1日之后,为负数则表示日期在1900年1月1日之前。后4 个字节用于存储datetime类型数据中距12:00(24小时制)的毫秒数。用户以字符串形式输入datetime类型数据,系统也以字符串形式输出datetime 类型数据,将用户输入到系统以及系统输出的d

15、atetime类型数据的字符串形式 称为datetime类型数据的外部形式”,而将datetime在系统内的存储形式称为 内部形式”,SQL Server负责datetime类型数据的两种表现形式之间的转换, 包括合法性检查。用户给出datetime类型数据值时,日期部分和时间部分分别给出。日期部分的表示形式常用的格式如下:年 月 日 2001 Jan 20、2001 Janary 20年日月2001 20 Jan月 日,年 Jan 20 2001、Jan 20,2001、Jan 20,01月年日Jan 2001 20日 月,年 20 Jan 2001、20 Jan,2001日年 月20 20

16、01 Jan年(4位数)2001表示2001年1月1日年月日 20010120、010120月/日/年 01/20/01、1/20/01、01/20/2001、1/20/2001月-日-年 01-20-01、1-20-01、01-20-2001、1-20-2001月.日.年 01.20.01、1.20.01、01.20.2001、1.20.2001说明:年可用4位或2位表示,月和日可用1位或2位表示。时间部分常用的表示格式如下:时:分 10:20、08:05时:分:秒 20:15:18、20:15:18.2时:分:秒:毫秒20:15:18:200时:分 AM|PM 10:10AM、10:10P

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 学术论文 > 其它学术论文

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