Oracle与DB2数据类型的分类对应说明

上传人:pu****.1 文档编号:503437134 上传时间:2023-07-24 格式:DOCX 页数:3 大小:11.41KB
返回 下载 相关 举报
Oracle与DB2数据类型的分类对应说明_第1页
第1页 / 共3页
Oracle与DB2数据类型的分类对应说明_第2页
第2页 / 共3页
Oracle与DB2数据类型的分类对应说明_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

《Oracle与DB2数据类型的分类对应说明》由会员分享,可在线阅读,更多相关《Oracle与DB2数据类型的分类对应说明(3页珍藏版)》请在金锄头文库上搜索。

1、Oracle与DB2数据类型的分类对应说明首先,通过下表介绍与DB2/400数据类型之间的对应关系,是一对多的关系,具体采用 哪种对应关系,应具体问题具体分析。注意事项:Oracle中的DATE含有年、月、日、时、分、秒,它和DB2/400中的DATE不相互对应,DB2/400 中的DATE只有年、月、日,TIME类型含有时、分、秒,因此日期和时间类型要进行转换, 请参照下表。OracleDB2/400Oracle数据 类型注意事 项DB2 UDB数据类型注意事项DATEDATETIMETIMESTAMP l如果只使用MM/DD/YYY,那 么使用DATE类型。 l如果只使用HH:MM:SS,

2、 那么使用TIME类型。 l如果要使用日期和时间, 则使用时间戳类型(TIMESTAMP)l可以使用Oracle中的 TO_CHAR()函数来取 DATE 的字串来分别与DB2/400 的DATE、TIME相匹配。VARCHAR2(n)n=4000CHAR(n) VARCHAR(n) l若n=32766,则使用DB2/400中的CHAR类型、VARCHARLONGn=2GBVARCHAR(n) CLOB(n) l若 n=32K,则使用 DB2/400 中的 CHAR 类型、VARCHAR。 l 若 32K= n =2GB,则使 用 CLOB。ROW&LONG ROWn=255CHAR(n) F

3、OR BIT DATA VARCHAR(n) FOR BIT DATA BLOB(n) l若n=32K,则使用 CHAR(n) FOR BIT DATA 或 VARCHAR(n) FOR BIT DATA l若n=2GB,则使用 BLOB(n)BLOBn=4GBBLOB(n)若n=2GB,则使用 BLOB(n)CLOBn=4GBCLOB(n)若n=2GB,则使用 CLOB(n)NCLOBn=4GBDBCLOB(n)若n=2GB,则使用DBCLOB(n/2)NUMBERSMALLINT/INTEGER/BIGINTDECIMAL(p,s)/NUMBER(p,s)Float(n)/ REAL/DO

4、UBLE l若Oracle中定义NUMBER(p)或 NUMBER(p,s),则使用 SAMLLINT/INTEGER/BIGINT l若Oracle中定义 NUMBER(p,s),则使用 DECIMAL(p,s) l若Oracle中定义 NUMBER,则使用 FLOAT(n)/REAL/DOUBLENUMBEROracle中的NUMBER类型可以对应DB2/400中的很多类型,这种对应关系要依赖于Oracle中 number 将用于保存何种类型的数据,是整型还是带有小数位的实型数据,另外还要考虑类型 所占用的存储空间,例如:SAMLLINT 占 2 byte, INTEGER 占 4 byt

5、e; BIGINT 占 8 byte;Oracle 中的NUMBER类型所占用的存储空间要根据它的定义而定,例如缺省精度下的NUMBER有38 个数字长,占用 20 byte 的空间。具体的对应关系请参照上表。ROW and LOB 类型DB2/400提供VARCHAR和CLOB与ORACLE中的RAW和LONG RAW相对应。ORACLE也支持大对 象:BLOB、CLOB、CLOB 和 NCLOB, ORACLE 中的 BLOB 和 CLOB 可以提供 4GB 的空间,而 DB2/400 中的BLOB和CLOB只能存放2GB的数据;DB2/400中的DBCLOB与ORACLE中的NCLOB

6、2GB相对 应0 Oracle中的BFILE数据类型用于管理数据库以外的二进制数据,数据库中的表将指向数 据库外部的存放的BFILE文件,DB2/400也提供一个类似的数据类型DATALINK相对应。ROWIDOracle ROWIND虚拟列用于对表中的某一列进行唯一标示,DB2/400中也有这样的数据类型 ROWID,它与ORACLE中的ROWID的功能相似。DB2/400中的ROWID可以存放40 byte的数据 用来唯一标示表中的每一行,它没有 ccsid 属性,这些信息中没有关于 datafile、 block 或 row 的信息。例如:CREATE TABLE LIBRARYNAME

7、/ORDERS2 (ORDERNO ROWID, SHIPPED_TO VARCHAR (36) , ORDER_DATE DATE) ORDERNO的数据类型为ROWID,用于存放订单号,每当插入一行时,系统 自动生成一个值,存放进这个字段。可以用OPERATION NAVIGATOR查看它的内容。Character typeDB2/400的CHAR、VARCHAR类型与ORACLE中的VARCHAR2(n)类型相对应,但是ORACLE中的 VARCHAR2(n)类型仅用于存放较小的字符串,这里的n小于4000,因此在这种情况下,最好 用定长的CHAR(N)类型与ORACLE的VARCHAR2(n)相对应,这样不仅可以提高效率,还可以节 省存储空间,若使用VARCHAR(n)类型最好用ALLOCATE参数,这样可以提高数据库的性能,它 可以减少内存和硬盘之间的输入/输出操作。要注意DB2/400中的字符串中文输入问题,要想在DB2/400上输入中文应用这样的SQL创建 表,这里的 CCSID 935, 代表简体中文。

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

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

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