oracle与db2数据类型分类对应说明

上传人:xiao****1972 文档编号:84085369 上传时间:2019-03-02 格式:DOC 页数:2 大小:40KB
返回 下载 相关 举报
oracle与db2数据类型分类对应说明_第1页
第1页 / 共2页
oracle与db2数据类型分类对应说明_第2页
第2页 / 共2页
亲,该文档总共2页,全部预览完了,如果喜欢就下载吧!
资源描述

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

1、首先,通过下表介绍与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, 那么使用TIME类型。l 如果要使用日期和时间,则使

2、用时间戳类型(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) FOR BIT DATAVARCHAR(n) FOR BIT DATABLOB(n)

3、l若n=32K, 则使用CHAR(n) FOR BIT DATA 或VARCHAR(n) FOR BIT DATAl 若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/DOUBLE lVARCHAR若Oracle中定义NUMBER(p) 或 NUMBER(p,

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

5、定义而定,例如缺省精度下的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 2GB相对应。Oracle 中的BFILE数据类型用于管理数据库以外的二进制数据,数据库中的表将指向数据库外部的存放的BFILE文

6、件,DB2/400也提供一个类似的数据类型DATALINK相对应。ROWIDOracle ROWIND虚拟列用于对表中的某一列进行唯一标示,DB2/400中也有这样的数据类型ROWID,它与ORACLE中的ROWID的功能相似。DB2/400中的ROWID可以存放40 byte的数据用来唯一标示表中的每一行,它没有ccsid属性,这些信息中没有关于datafile、 block 或 row的信息。例如:CREATE TABLE LIBRARYNAME/ORDERS2 (ORDERNO ROWID, SHIPPED_TO VARCHAR (36) , ORDER_DATE DATE) ORDER

7、NO的数据类型为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号