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

天涯遥望丶

天涯遥望丶

2016-02-19 13:53

有了下面这个Oracle与DB2数据类型分类对应说明教程,不懂Oracle与DB2数据类型分类对应说明的也能装懂了,赶紧get起来装逼一下吧!

首先,通过下表介绍与DB2/400数据类型之间的对应关系,是一对多的关系,具体采用哪种对应关系,应具体问题具体分析。 注重事项: Oracle中的DATE含有年、月、日、时、分、秒,它和DB2/400中的DATE不相互对应,DB2/400中的DATE只有年、月、日,TIME类型含有时、分、秒,因此日期和时间类型要进行转换,请参照下表。 Oracle

DB2/400   Oracle数据类型

注重事项 DB2 UDB数据类型注重事项 DATE   DATE

TIME

TIMESTAMP l 假如只使用MM/DD/YYY,那么使用DATE类型。

l 假如只使用HH:MM:SS, 那么使用TIME类型。

l 假如要使用日期和时间,则使用时间戳类型(TIMESTAMP)

l 可以使用Oracle中的TO_CHAR()函数来取DATE的字串来分别与DB2/400的DATE、TIME相匹配。

VARCHAR2(n) n=4000 CHAR(n)

VARCHAR(n) l 若n=32766,则使用DB2/400中的CHAR类型、VARCHAR LONG n=2GB VARCHAR(n)

CLOB(n) l 若n=32K,则使用DB2/400中的CHAR类型、VARCHAR。

l 若32K= n =2GB,则使用CLOB。 ROW&

LONG ROW n=255 CHAR(n) FOR 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) BLOB n=4GB BLOB(n) 若n=2GB, 则使用BLOB(n) CLOB n=4GB CLOB(n) 若n=2GB, 则使用CLOB(n) NCLOB n=4GB DBCLOB(n) 若n=2GB, 则使用DBCLOB(n/2) NUMBER SMALLINT/INTEGER/BIGINT

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/bianchengyuyan/)

DECIMAL(p,s)/NUMBER(p,s)

Float(n)/ REAL/DOUBLE l VARCHAR 若Oracle中定义NUMBER(p) 或 NUMBER(p,s), 则使用SAMLLINT/INTEGER/BIGINT

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/bianchengyuyan/)

l 若Oracle中定义NUMBER(p,s), 则使用DECIMAL(p,s)

l 若Oracle中定义NUMBER,则使用FLOAT(n)/REAL/DOUBLE NUMBER Oracle中的NUMBER类型可以对应DB2/400中的很多类型,这种对应关系要依靠于Oracle中number将用于保存何种类型的数据,是整型还是带有小数位的实型数据,另外还要考虑类型所占用的存储空间,例如:SAMLLINT占2 byte, INTEGER占4 byte; 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 2GB相对应。Oracle 中的BFILE数据类型用于治理数据库以外的二进制数据,数据库中的表将指向数据库外部的存放的BFILE文件,DB2/400也提供一个类似的数据类型DATALINK相对应。 ROWID Oracle 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) ORDERNO的数据类型为ROWID,用于存放订单号,每当插入一行时,系统自动生成一个值,存放进这个字段。可以用OPERATION NAVIGATOR查看它的内容。 Character type DB2/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,代表简体中文。

展开更多 50%)
分享

猜你喜欢

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

编程语言 网络编程
Oracle与DB2数据类型分类对应说明

Oracle复合数据类型(2)

编程语言 网络编程
Oracle复合数据类型(2)

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

浅析SQL Server与Oracle、DB2的比较

SQLServer
浅析SQL Server与Oracle、DB2的比较

比较SQL Server与Oracle DB2的不同

编程语言 网络编程
比较SQL Server与Oracle DB2的不同

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

SQL Server与Oracle、DB2三种数据库比较

编程语言 网络编程
SQL Server与Oracle、DB2三种数据库比较

Oracle复合数据类型(4)

编程语言 网络编程
Oracle复合数据类型(4)

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

Oracle 10G里手工建库的全过程

Oracle 10G里手工建库的全过程

jQuery中isFunction方法的BUG修复

jQuery中isFunction方法的BUG修复
下拉加载更多内容 ↓