数据库常用数据类型

更新时间:2023-11-24 12:03:11 阅读: 评论:0

中考祝福语-宽容是一种美德

数据库常用数据类型
2023年11月24日发(作者:团队精神)

(1) 整数型

整数包括bigintintsmallinttinyint,从标识符的含义就可以看出,它们的

表示数范围逐渐缩小。

l bigint:大整数,数范围为 -263 (-9223372)263-1

(9223372) ,其精度为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

小数位数为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),那么若向某记录的该列赋值56.342689时,该列实际存储

的是56.3427

decimalnumeric可存储从 -1038 +1 1038 1 的固定精度和小数位的数

字数据,它们的存储长度随精度变化而变化,最少为5字节,最多为17字节。

l 精度为19时,存储字节长度为5

l 精度为1019时,存储字节长度为9

l 精度为2028时,存储字节长度为13

l 精度为2938时,存储字节长度为17

例如若有声明numeric(8,3),则存储该类型数据需5字节,而若有声明

numeric(22,5),则存储该类型数据需13字节。

注意:声明精确整数型数据时,其小数位数必须小于精度;在给精确整数型数据

赋值时,必须使所赋数据的整数部分位数不大于列的整数部分的长度。

(3) 浮点型

浮点型也称近似数值型。顾名思义,这种类型不能提供精确表示数据的精度,使

用这种类型来存储某些数值时,有可能会损失一些精度,所以它可用于处理取值

范围非常大且对精确度要求不是十分高的数值量,如一些统计量。

有两种近似数值数据类型:float[(n)]real,两者通常都使用科学计数法表示数

据,即形为:尾数E阶数,如5.6432E20-2.98E101.287659E-9等。

l real:使用4字节存储数据,表数范围为-3.40E + 38 3.40E + 38,数据精

度为7位有效数字。

l float定义中的n取值范围是153用于指示其精度和存储大小。n1

24之间时,实际上是定义了一个real型数据,存储长度为4字节,精度为7

有效数字;当n2553之间时,存储长度为8字节,精度为15位有效数字。

当缺省n时,代表n2553之间。float型数据的数范围为- 1.79E+308

1.79E+308

(4) 货币型

SQL Server提供了两个专门用于处理货币的数据类型:moneysmallmoney

它们用十进制数表示货币值。

l money:数据的数范围为-263 (-922337203685477.5808)263-1

(922337203685477.5807) 其精度为19小数位数为4长度为8字节。money

的数的范围与bigint相同,不同的只是money型有4位小数,实际上,money

就是按照整数进行运算的,只是将小数点固定在末4位。

l smallmoney:数范围为 231 (-2,147,48.3648) 231 - 1 (2,147,48.3647)

其精度为10,小数位数为4,长度为4字节。可见smallmoneyint的关系就

如同moneybigint的关系。

当向表中插入moneysmallmoney类型的值时,必须在数据前面加上货币表

示符号($),并且数据中间不能有逗号(,);若货币值为负数,需要在符号$

后面加上负号(-)。例如:$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) 字符型

字符型数据用于存储字符串,字符串中可包括字母、数字和其它特殊符号(如#

@&等等)。在输入字符串时,需将串中的符号用单引号或双引号括起来,

’abc’”Abc

SQL Server字符型包括两类:固定长度 (char) 或可变长度 (varchar) 字符数据

类型。

l char[(n)]

定长字符数据类型,其中n定义字符型数据的长度,n18000之间,缺省

1。当表中的列定义为char(n)类型时,若实际要存储的串长度不足n时,则

在串的尾部添加空格以达到长度n所以char(n)的长度为n例如某列的数据类

型为char(20),而输入的字符串为”ahjm1922”,则存储的是字符ahjm1922

12个空格。若输入的字符个数超出了n,则超出的部分被截断。

l varchar[(n)]

变长字符数据类型,其中n的规定与定长字符型charn完全相同,但这里n

表示的是字符串可达到的最大长度。varchar(n)的长度为输入的字符串的实际字

符个数,而不一定是n。例如,表中某列的数据类型为varchar(100),而输入的

字符串为”ahjm1922”,则存储的就是字符ahjm1922,其长度为8字节。

当列中的字符数据值长度接近一致时,例如姓名,此时可使用 char;而当列中

的数据值长度显著不同时,使用varchar较为恰当,可以节省存储空间。

(7) Unicode字符型

Unicode统一字符编码标准,用于支持国际上非英语语种的字符数据的存储

和处理。SQL ServerUnicode字符型可以存储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 nvarchar[(n)]nvarchar[(n)]为最多包含n个字符的可变长度 Unicode 字符型

数据,n 的值在 1 4,000之间,缺省为1。长度是所输入字符个数的两倍。

实际上,ncharnvarcharcharvarchar的使用非常相似,只是字符集不同

(前者使用Unicode字符集,后者使用ASCII字符集)。

(8) 文本型

当需要存储大量的字符数据,如较长的备注、日志信息等等,字符型数据的最长

8000个字符的限制可能使它们不能满足这种应用需求,此时可使用文本型数据。

文本型包括textntext两类,分别对应ASCII字符和Unicode字符。text类型

可以表示最大长度为 231-1 (2,147,483,647) 个字符,其数据的存储长度为实际

字符数个字节。ntext可表示最大长度为 230 - 1 (1,073,741,823) Unicode

字符,其数据的存储长度是实际字符个数的两倍(以字节为单位)。

(9) 二进制型

二进制数据类型表示的是位数据流,包括binary(固定长度)和varbinary(可

变长度)两种。

l binary [(n) ]:固定长度的n个字节二进制数据。n取值范围为 1 8,000,缺

省为1binary(n)数据的存储长度为 n+4 字节。若输入的数据长度小于n,则

不足部分用0填充;若输入的数据长度大于n,则多余部分被截断。

输入二进制值时,在数据前面要加上0x,可以用的数字符号为09AF(字

母大小写均可)。因此,二进制数据有时也被称为十六进制数据。例如0xFF

0x12A0分别表示值FF12A0。因为每字节的数最大为FF,故在“0x”格式的

数据每两位占1个字节。

l varbinary [(n) ]n个字节变长二进制数据。n取值范围为 1 8,000,缺省

1varbinary(n)数据的存储长度为实际输入数据长度+4个字节。

(10) 日期时间类型

日期时间类型数据用于存储日期和时间信息,包括datetimesmalldatetime

类。

l datetimedatetime类型可表示的日期范围从 1753 1 1 日到 9999

12 31 日的日期和时间数据,精确度为百分之三秒(3.33 毫秒或 0.00333

秒),例如13毫秒的值都表示为0毫秒,46毫秒的值都表示为4毫秒。

datetime类型数据长度为8字节,日期和时间分别使用4个字节存储。前4

节用于存储datetime类型数据中距1900 1 1 日的天数,为正数表示日

期在190011日之后,为负数则表示日期在190011日之前。后4

个字节用于存储datetime类型数据中距12:0024小时制)的毫秒数。

用户以字符串形式输入datetime类型数据,系统也以字符串形式输出datetime

类型数据,将用户输入到系统以及系统输出的datetime类型数据的字符串形式

称为datetime类型数据的外部形式,而将datetime在系统内的存储形式称为

内部形式SQL Server负责datetime类型数据的两种表现形式之间的转换,

包括合法性检查。

用户给出datetime类型数据值时,日期部分和时间部分分别给出。

日期部分的表示形式常用的格式如下:

2001 Jan 202001 Janary 20

2001 20 Jan

[,] Jan 20 2001Jan 20,2001Jan 20,01

Jan 2001 20

[,] 20 Jan 200120 Jan,2001

20 2001 Jan

(4位数) 2001表示200111

年月日 20010120010120

// 01/20/011/20/0101/20/20011/20/2001

-- 01-20-011-20-0101-20-20011-20-2001

.. 01.20.011.20.0101.20.20011.20.2001

说明:年可用4位或2位表示,月和日可用1位或2位表示。

时间部分常用的表示格式如下:

: 10:2008:05

:: 20:15:1820:15:18.2

:::毫秒 20:15:18:200

:AM|PM 10:10AM10:10PM

l smalldatetimesmalldatetime类型数据可表示从 1900 1 1 日到 2079

6 6 日的日期和时间,数据精确到分钟,29.998 秒或更低的值向下舍

入为最接近的分钟,29.999 秒或更高的值向上舍入为最接近的分钟。

Smalldatetime类型数据的存储长度为4字节,前2个字节用来存储

smalldatetime类型数据中日期部分距190011日之后的天数;后2个字

节用来存储smalldatetime类型数据中时间部分距中午12点的分钟数。

用户输入smalldatetime类型数据的格式与datetime类型数据完全相同,只是它

们的内部存储可能不相同。

(11) 时间戳型

标识符是timestamp若创建表时定义一个列的数据类型为时间戳类型,那么每

当对该表加入新行或修改已有行时,都由系统自动将一个计数器值加到该列,

将原来的时间戳值加上一个增量。记录timestamp列的值实际上反映了系统对

该记录修改的相对(相对于其他记录)顺序。一个表只能有一个timestamp 列。

Timestamp类型数据的值实际上是二进制格式数据,其长度为8字节。

(12) 图象数据类型

标识符是image它用于存储图片、照片等。实际存储的是可变长度二进制数据,

介于 0 231-1 (2,147,483,647) 字节之间。

(13) 其它数据类型

除了上面所介绍的常用数据类型外,SQL Server 2000还提供了其它几种数据类

型:cursorsql_varianttableuniqueidentifier

Cursor:是游标数据类型,用于创建游标变量或定义存储过程的输出参数。

Sql_variant:是一种存储 SQL Server 支持的各种数据类型(除textntext

imagetimestamp sql_variant 外)值的数据类型。Sql_variant的最大长度

可达 8016 字节。

Table:是用于存储结果集的数据类型,结果集可以供后续处理。

Uniqueidentifier是唯一标识符类型。系统将为这种类型的数据产生唯一标识值,

它是一个16字节长的二进制数据。

客服总监-战争与和平的作者是

数据库常用数据类型

本文发布于:2023-11-24 12:03:11,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/zhishi/a/170079859134445.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

本文word下载地址:数据库常用数据类型.doc

本文 PDF 下载地址:数据库常用数据类型.pdf

标签:small
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 实用文体写作网旗下知识大全大全栏目是一个全百科类宝库! 优秀范文|法律文书|专利查询|