db2数据类型.docx
- 文档编号:30146009
- 上传时间:2023-08-05
- 格式:DOCX
- 页数:17
- 大小:22.52KB
db2数据类型.docx
《db2数据类型.docx》由会员分享,可在线阅读,更多相关《db2数据类型.docx(17页珍藏版)》请在冰豆网上搜索。
db2数据类型
db2数据类型
2008-11-0221:
25
内置数据类型可以分成数值型(numeric)、字符串型(characterstring)、图形字符串(graphicstring)、二进制字符串型(binarystring)或日期时间型(datetime)。
还有一种叫做DATALINK的特殊数据类型。
DATALINK值包含了对存储在数据库以外的文件的逻辑引用。
数值型数据类型包括SMALLINT、INTEGER、BIGINT、DECIMAL(p,s)、REAL和DOUBLE。
所有数值都有符号和精度。
精度是指除符号以外的二进制或十进制的位数。
如果数字的值大
于等于零,就认为符号为正。
*小整型,SMALLINT:
小整型是两个字节的整数,精度为5位。
小整型的范围从-32,768到32,767。
*大整型,INTEGER或INT:
大整型是四个字节的整数,精度为10位。
大整型的范围从-2,147,483,648到2,147,483,647。
*巨整型,BIGINT:
巨整型是八个字节的整数,精度为19位。
巨整型的范围从-9,223,372,036,854,775,808到9,223,372,036,854,775,807。
*小数型,DECIMAL(p,s)、DEC(p,s)、NUMERIC(p,s)或NUM(p,s):
小数型的值是一种压缩十进制数,它有一个隐含的小数点。
压缩十进制数将以二-十进制编码(binary-coded
decimal,BCD)记数法的变体来存储。
小数点的位置取决于数字的精度(p)和小数位(s)。
小数位是指数字的小数部分的位数,它不可以是负数,也不能大于精度。
最大精度是
31位。
小数型的范围从-10**31+1到10**31-1。
*单精度浮点数(Single-precisionfloating-point),REAL:
单精度浮点数是实数的32位近似值。
数字可以为零,或者在从-3.402E+38到-1.175E-37或从1.175E-37到
3.402E+38的范围内。
*双精度浮点数(Double-precisionfloating-point),DOUBLE,DOUBLEPRECISION或FLOAT:
双精度浮点数是实数的64位近似值。
数字可以为零,或者在从-1.79769E+308
到-2.225E-307或从2.225E-307到1.79769E+308的范围内。
字符串是字节序列。
字符串包括CHAR(n)类型的定长字符串和VARCHAR(n)、LONGVARCHAR或CLOB(n)类型的变长字符串。
字符串的长度就是序列中的字节数。
*定长字符串,CHARACTER(n)或CHAR(n):
定长字符串的长度介于1到254字节之间。
如果没有指定长度,那么就认为是1个字节。
*变长字符串,VARCHAR(n)、CHARACTERVARYING(n)或CHARVARYING(n):
VARCHAR(n)类型的字符串是变长字符串,最长可达32,672字节。
*LONGVARCHAR:
LONGVARCHAR类型的字符串是变长字符串,最长可达32,700字节。
*字符大对象字符串(CharacterLargeObjectString),CLOB(n[K|M|G]):
CLOB是变长字符串,最长可以达到2,147,483,647字节。
如果只指定了n,那么n的值就是最大长
度。
如果指定了nK,那么最大长度就是n*1,024(n的最大值为2,097,152)。
如果指定了nM,那么最大长度就是n*1,048,576(n的最大值为2,048)。
如果指定了nG,那么
最大长度就是n*1,073,741,824(n的最大值是2)。
CLOB用于存储基于大单字节字符集(single-bytecharacterset,SBCS)字符的数据或基于混合(多字节字符集(MBCS)
和SBCS)字符的数据。
图形字符串是表示双字节字符数据的字节序列。
图形字符串包括类型为GRAPHIC(n)的定长图形字符串和类型为VARGRAPHIC(n)、LONGVARGRAPHIC和
DBCLOB(n)的变长图形字符串。
字符串的长度就是序列中双字节字符的数目。
*定长图形字符串,GRAPHIC(n):
定长图形字符串的长度介于1到127个双字节字符之间。
如果没有指定长度,就认为是1个双字节字符。
*变长图形字符串,VARGRAPHIC(n):
VARGRAPHIC(n)类型的字符串是变长图形字符串,最大长度可达16,336个双字节字符。
*LONGVARGRAPHIC:
LONGVARGRAPHIC类型的字符串是变长图形字符串,最大长度可达16,350个双字节字符。
*双字节字符大对象字符串,DBCLOB(n[K|M|G]):
双字节字符大对象是变长双字节字符图形字符串,最长可达1,073,741,823个字符。
如果只指定了n,那么n就是最大长度。
如
果指定了nK,那么最大长度就是n*1,024(n的最大值为1,048,576)。
如果指定了nM,那么最大长度就是n*1,048,576(n的最大值为1,024)。
如果指定了nG,那么最大长
度就是n*1,073,741,824(n的最大值是1)。
DBCLOB用于存储基于大DBCS(双字节字符集,double-bytecharacterset)字符的数据。
二进制字符串是字节序列。
二进制字符
串包括BLOB(n)类型的变长字符串,它用于容纳非传统型的数据,诸如图片、语音或混合媒体等,还可以容纳用户定义的类型及用户定义的函数的结构化数据。
*二进制大对象,BLOB(n[K|M|G]):
二进制大对象是变长字符串,最长可达2,147,483,647字节。
如果只指定了n,那么n就是最大长度。
如果指定了nK,那么最大长度就是
n*1,024(n的最大值为2,097,152)。
如果指定了nM,那么最大长度就是n*1,048,576(n的最大值为2,048)。
如果指定了nG,那么最大长度就是n*1,073,741,824(n的最
大值是2)。
日期时间型数据类型包括DATE、TIME和TIMESTAMP。
日期时间值可在某些算术和字符串操作中使用,而且兼容某些字符串,但它们既不是字符串,也不是数字。
*DATE:
DATE是一个由三部分组成的值(年、月和日)。
年份部分的范围是从0001到9999。
月份部分的范围是从1到12。
日部分的范围是从1到n,其中n的值取决于月份
。
DATE列长10个字节。
*TIME:
TIME是一个由三部分组成的值(小时、分钟和秒)。
小时部分的范围是从0到24。
分钟和秒部分的范围都是从0到59。
如果小时为24,分钟和秒的值都是0。
TIME
列长8个字节。
*TIMESTAMP:
TIMESTAMP是一个由七部分组成的值(年、月、日、小时、分钟、秒和微秒)。
年份部分的范围是从0001到9999。
月份部分的范围是从1到12。
日部分的范围是
从1到n,其中n的值取决于月份。
小时部分的范围是从0到24。
分钟和秒部分的范围都是从0到59。
微秒部分的范围是从000000到999999。
如果小时是24,那么分钟
值、秒的值和微秒的值都是0。
TIMESTAMP列长26个字节。
日期时间值的字符串表示:
尽管DATE、TIME和TIMESTAMP的值的内部表示对用户是透明的,日期、时间和时间戳记
也可以用字符串来表示,CHAR标量函数(请参阅SQL的“词类(partsofspeech)”)可以用于创建日期时间值的字符串表示。
*日期值的字符串表示是一个以数字开始,长度不少于8个字符的字符串。
日期值的月份和日部分中前面的零可以省略。
*时间值的字符串表示是以数字开头,长度不少于4个字符的字符串。
时间值的小时部分前面的零可以省略,秒部分可以完全省略。
如果秒的值没有指定,那么就认为是0。
*时间戳记值的字符串表示是以数字开头,长度不少于16个字符的字符串。
完整的时间戳记字符串表示形式为yyyy-mm-dd-hh.mm.ss.nnnnnn。
时间戳记值的月、日或小时等几部
分前面的零可以省略,微秒可以截断或完全省略。
如果任何时间戳记值的微秒部分尾零被省略掉了,那么将假定空缺的数位上是零。
DB2基础,入门
一.安装DB2
有三个选择,可以企业版,也可以只安装客户端。
安装完成后,打开”控制中心”可以操作整个DB2,打开”信息中心”可以查看相应的帮助文档.
二.安装QuestCentralforDB2
这两个软件都不需要配置,只要不断点下一步就可以安装成功,安装完成后会在桌面上生成一个KnowledgeXpertforDB2快捷方式.这就是它的帮助文档.
三.在按制中心创建一个实例
1.首先打开DB2“控制中心”,右击“我以编目的系统”,再选择添加,会出现如下页面,单击“发现”然后选择相应主机,会自动填入如下项,最后确定。
2.设置主机:
右击刚才新建的实例,出现如下页面,节点名为随意字符,不过必须为1-8个字节,我们这里假设为TEST,创建实例服务名可以不填,端口是50000(DB2默认的端口
),然后确定。
3,连接相应的数据库实例:
右击TEST,添加,选择相应的数据库实例,点击发选择你需要的数据库,当要操作相应数据库时会提示输入用户名,密码.
四.创建数据库
1.选择数据库,右击选择”创建”选择”使用向导创建数据库”(注意“建库时务必工”区域“中选择编码方式为utf-8,否则当插入中文时,会有意想不到的错误提示,最典型
的就是提示JDK版本不兼容)
2.分别填入数据名称,用户表,也可以直接填入数据库名称,点完成.
3.创建表的方式和数据库创建类似,其中显示表的时候可以创建过虑器.如果我想隐藏系统表,设置表名为notlikesys%
五.QuestCentralforDB2使用
1.简介:
QuestCentralforDatabases是一种集成化、图形化、跨平台的数据库管理解决方案,可以管理异构环境下的Oracle、DB2数据库。
QuestCentralforDatabases消
除了企业IT人员管理多种数据库时面临的技术障碍,提高了IT人员工作效率,改善了数据库性能和数据库应用的可用性。
2.使用SQLEditor:
打开QuestCentralfordb2,点击菜单栏的Tools,选择SQLEditor
3.使用Edittools:
Edit除了菜单栏分为两个主要模块,上面用于执行的SQL语句,下面用于显示执行情况以及输出信息,点击左上角的执行按钮,执行SQL
六.数据类型说明
自己的一些总结:
1.DB2没有Boolean型。
2.DB2表中的列一旦建立不能删除列。
DROPCOLUMN:
DB2不允许您删除一个列。
我可以想到您希望删除列的三个理由:
回收空间:
如果您希望这样做,可以导出您希望保存的数据,删除那个表,用您需要的那些列重新创建表,然后装入这个表。
这是否代价高昂?
当然是,但是回收空间需要这样或
者REORGTABLE。
这些本来就是代价高昂的操作。
这个列不再是行的逻辑部分:
例如,您意识到您的雇员可能有两个地址,并且停止跟踪雇员(employee)表中的地址(雇员表和雇员地址(employee_address)表之间现在有n:
m
关系)。
在雇员表上创建一个不包含地址列的视图。
如果您真的要用新奇的方法,可以使用RENAMETABLE命令给基表一个新的名称,然后将
原始表名作为该视图的名称。
您的视图也可以连接雇员表中的有用列和从雇员地址获得的地址。
现在我们回到了关系的正道。
列变宽了。
如果它是VARCHAR,那您运气不错。
DB2允许您将VARCHAR列最多加宽至表空间(tablespace)中定义的页大小宽度(缺省的4K页大小为4,005,而在32K页上最
多为32,672):
3.除了VARCHAR能增加长度外,其它类型不能修改列属性,也就是上面的第三点如:
TT为表名,第二个为列名ALTERTABLETTALTERCOLUMNTTSETDATATYPEVARCHAR(40);
4.不能更换列名:
如
ALTERTABLEttRENAMECOLUMNttTOt3;
数据类型存放在:
sysibm.SYSDATATYPES表中
数据类型类型特性示例或范围
数值型
SMALLINT数字长度为2字节精度为5位范围为-32768至32767
INTEGER数字长度为4字节精度为10位范围为-2147483648至2147483647
BIGINT数字长度为八个字节的整数,精度为19位范围为-9,223,372,036,854,775,808到9,223,372,036,854,775,807
REAL数字单精度浮点32位近似值范围为否-3.402E+38至-1.175E-37或1.175E-37至-3.402E+38或零
DOUBLE数字双精度浮点64位近似值范围为-1.79769E+308至-2.225E-307或2.225E-307至1.79769E+308或零
DECIMAL(5,2)数字精度为5,小数位为2范围为-10**31+1至10**31-1,小数位是指数字的小数部分的位数,不能大于精度。
最大精度是31位。
字符串
CHAR(15)定长字符串最大长度为254'Sunnyday'
VARCHAR(15)变长字符最大长度为4000'Sunnyday'
LONGVARCHAR变长字符串最长可达32,700字节
CLOB字符大对象变长字符串最长可达2,147,483,647字节(容量最大
2G)
BLOB变长字符串最长可达2,147,483,647字节(容量最大
2G)
日期时间型
DATE日期时间三部分值1991-10-27
TIME日期时间三部分值13.30.05
TIMESTAMP日期时间七部分值1991-10-27-13:
30“05.000000
数值型数据类型说明:
DB2内置数据类型可以分成
数值型(numeric)、
字符串型(characterstring)、
图形字符串(graphicstring)、
二进制字符串型(binarystring)
日期时间型(datetime)。
特殊数据类型(DATALINK),DATALINK值包含了对存储在数据库以外的文件的逻辑引用。
数值型数据类型包括SMALLINT、INTEGER、BIGINT、DECIMAL(p,s)、REAL和DOUBLE。
所有数值都有符号和精度。
精度是指除符号以外的二进制或十进制的位数。
如果数字的
值大于等于零,就认为符号为正。
*小整型,SMALLINT:
小整型是两个字节的整数,精度为5位。
小整型的范围从-32,768
到32,767。
*大整型,INTEGER或INT:
大整型是四个字节的整数,精度为10位。
大整型的范围
从-2,147,483,648到2,147,483,647。
*巨整型,BIGINT:
巨整型是八个字节的整数,精度为19位。
巨整型的范围从
-9,223,372,036,854,775,808到9,223,372,036,854,775,807。
*小数型,DECIMAL(p,s)、DEC(p,s)、NUMERIC(p,s)或NUM(p,s):
小数型的值是一种
压缩十进制数,它有一个隐含的小数点。
压缩十进制数将以二-十进制编码
(binary-codeddecimal,BCD)记数法的变体来存储。
小数点的位置取决于数字的精
度(p)和小数位(s)。
小数位是指数字的小数部分的位数,它不可以是负数,也不
能大于精度。
最大精度是31位。
小数型的范围从-10**31+1到10**31-1。
*单精度浮点数(Single-precisionfloating-point),REAL:
单精度浮点数是实数
的32位近似值。
数字可以为零,或者在从-3.402E+38到-1.175E-37或从
1.175E-37到3.402E+38的范围内。
*双精度浮点数(Double-precisionfloating-point),DOUBLE,DOUBLEPRECISION或
FLOAT:
双精度浮点数是实数的64位近似值。
数字可以为零,或者在从-1.79769E+308
到-2.225E-307或从2.225E-307到1.79769E+308的范围内。
字符串是字节序列。
字符串包括CHAR(n)类型的定长字符串和VARCHAR(n)、LONG
VARCHAR或CLOB(n)类型的变长字符串。
字符串的长度就是序列中的字节数。
*定长字符串,CHARACTER(n)或CHAR(n):
定长字符串的长度介于1到254字节之间。
如果没有指定长度,那么就认为是1个字节。
*变长字符串,VARCHAR(n)、CHARACTERVARYING(n)或CHARVARYING(n):
VARCHAR(n)
类型的字符串是变长字符串,最长可达32,672字节。
*LONGVARCHAR:
LONGVARCHAR类型的字符串是变长字符串,最长可达32,700字节。
*字符大对象字符串(CharacterLargeObjectString),CLOB(n[K|M|G]):
CLOB是
变长字符串,最长可以达到2,147,483,647字节。
如果只指定了n,那么n的值就是
最大长度。
如果指定了nK,那么最大长度就是n*1,024(n的最大值为2,097,152)。
如果指定了nM,那么最大长度就是n*1,048,576(n的最大值为2,048)。
如果指定
了nG,那么最大长度就是n*1,073,741,824(n的最大值是2)。
CLOB用于存储基于
大单字节字符集(single-bytecharacterset,SBCS)字符的数据或基于混合(多字
节字符集(MBCS)和SBCS)字符的数据。
图形字符串是表示双字节字符数据的字节序
列。
图形字符串包括类型为GRAPHIC(n)的定长图形字符串和类型为VARGRAPHIC(n)、
LONGVARGRAPHIC和DBCLOB(n)的变长图形字符串。
字符串的长度就是序列中双字节
字符的数目。
*定长图形字符串,GRAPHIC(n):
定长图形字符串的长度介于1到127个双字节字符
之间。
如果没有指定长度,就认为是1个双字节字符。
*变长图形字符串,VARGRAPHIC(n):
VARGRAPHIC(n)类型的字符串是变长图形字符串,
最大长度可达16,336个双字节字符。
*LONGVARGRAPHIC:
LONGVARGRAPHIC类型的字符串是变长图形字符串,最大长度可达
16,350个双字节字符。
*双字节字符大对象字符串,DBCLOB(n[K|M|G]):
双字节字符大对象是变长双字节字符
图形字符串,最长可达1,073,741,823个字符。
如果只指定了n,那么n就是最大长
度。
如果指定了nK,那么最大长度就是n*1,024(n的最大值为1,048,576)。
如果
指定了nM,那么最大长度就是n*1,048,576(n的最大值为1,024)。
如果指定了nG,
那么最大长度就是n*1,073,741,824(n的最大值是1)。
DBCLOB用于存储基于大DBCS
(双字节字符集,double-bytecharacterset)字符的数据。
二进制字符串是字节序
列。
二进制字符串包括BLOB(n)类型的变长字符串,它用于容纳非传统型的数据,诸
如图片、语音或混合媒体等,还可以容纳用户定义的类型及用户定义的函数的结构化数
据。
*二进制大对象,BLOB(n[K|M|G]):
二进制大对象是变长字符串,最长可达
2,147,483,647字节。
如果只指定了n,那么n就是最大长度。
如果指定了nK,那么
最大长度就是n*1,024(n的最大值为2,097,152)。
如果指定了nM,那么最大长度
就是n*1,048,576(n的最大值为2,048)。
如果指定了nG,那么最大长度就是
n*1,073,741,824(n的最大值是2,也就是容量为2G)。
日期时间型数据类型包括DATE、TIME和TIMESTAMP。
日期时间值可在某些算术和字符
串操作中使用,而且兼容某些字符串,但它们既不是字符串,也不是数字。
*DATE:
DATE是一个由三部分组成的值(年、月和日)。
年份部分的范围是从0001到
9999。
月份部分的范围是从1到12。
日部分的范围是从1到n,其中n的值取决于
月份。
DATE列长10个字节。
*TIME:
TIME是一个由三部分组成的值(小时、分钟和秒)。
小时部分的范围是从0到
24。
分钟和秒部分的范围都是从0到59。
如果小时为24,分钟和秒的值都是0。
TIME
列长8个字节。
*TIMESTAMP:
TIMESTAMP是一个由七部分组成的值(年、月、日、小时、分钟、秒和
微秒)。
年份部分的范围是从0001到9999。
月份部分的范围是从1到12。
日部分
的范围是从1到n,其中n的值取决于月份。
小时部分的范围是从0到24。
分钟和
秒部分的范围都是从0到59。
微秒部分的范围是从000000到999999。
如果小时是
24,那么分钟值、秒的值和微秒的值都是0。
TIMESTAMP列长26个字节。
日期时间值
的字符串表示:
尽管DATE、TIME和TIMESTAMP的值的内部表示对用户是透明的,日
期、时间和时间戳记也可以用字符串来表示,CHAR标量函数(请参阅SQL的“词类
(partsofspeech)”)可以用于创建日期时间值的字符串表示。
*日期值的字符串表示是一个以数字开始,长度不少于8个字符的字符串。
日期值的月
份和日部分中前面的零可以省略。
*时间值的字符串表示是以数字开头,长度不少于4个字符的字符串。
时间值的小时部
分前面的零可以省略,秒部分可以完全省略。
如果秒的值没有指定,那么就认为是0。
*时间戳记值的字符串表示是以数字开头,长度不少于16个字符的字符串。
完整的时
间戳记字符串表示形式为yyyy-mm-dd-hh.mm.ss.nnnnnn。
时间戳记值的月、日或小时
等几部分前面的零可以省略,微秒可以截断或完全省略。
如果任何时间戳记值的微秒部
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- db2 数据类型