`

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

阅读更多

个人博客:http://demi-panda.com

 

 

 

Oracle

DB2/400

Oracle数据类型

注意事项

DB2 UDB数据类型

注意事项

DATE

 

DATE

TIME

TIMESTAMP l

如果只使用MM/DD/YYY,那么使用DATE类型。
如果只使用HH:MM:SS, 那么使用TIME类型。
如果要使用日期和时间,则使用时间戳类型(TIMESTAMP
可以使用Oracle中的TO_CHAR()函数来取DATE的字串来分别与DB2/400DATETIME相匹配。

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
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
n<=2GB, 则使用BLOB(n)

BLOG

N<=4GB

BLOG(N)

n<=2GB,则使用BLOG(N)

CLOG

N<=4GB

CLOG(N)

若n<=2GB,则使用CLOG(n)

NCLOB

N<=4GB

DBCLOB(n) 

n<=2GB, 则使用DBCLOB(n/2)

UMBER

 

SMALLINT/INTEGER/BIGINT

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

Float(n)/ REAL/DOUBLE l 

Oracle中定义NUMBER(p) 或 NUMBER(p,s), 则使用SAMLLINT/INTEGER/BIGINT
Oracle中定义NUMBER(p,s), 则使用DECIMAL(p,s)
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,代表简体中文。

<!--EndFragment-->

分享到:
评论

相关推荐

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

    Oracle 与 DB2 数据类型分类对应说明 Oracle 和 DB2 是两个广泛应用的关系数据库管理系统,它们都具有丰富的数据类型,用于存储和管理各种类型的数据。然而,在实际应用中,我们经常需要在 Oracle 和 DB2 之间进行...

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

    Oracle与DB2数据类型的对应说明书 在软件开发和数据库管理中,了解不同的数据库管理系统之间的数据类型对应关系至关重要。作为dba和软件开发人员,了解Oracle和DB2之间的数据类型对应关系是必备的知识。本文将详细...

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

    本篇文章主要探讨了 Oracle 数据类型与 DB2/400 数据类型的分类对应关系,帮助用户在进行数据迁移、集成或跨平台开发时更好地理解和处理数据类型转换。 1. **日期和时间类型**: - Oracle 的 `DATE` 类型包含年、...

    Oracle和DB2的数据类型比较

    在选择Oracle NUMBER类型与DB2/400中的数值类型对应时,需要考虑数据的精度需求以及存储空间的需求。例如: - 若Oracle中的NUMBER类型用于存储整数数据,则可以考虑与DB2/400中的SMALLINT、INTEGER或BIGINT对应。 -...

    Oracle 表定义到 DB2 数据类型

    本主题将详细探讨如何将Oracle数据库中的表定义映射到DB2数据库的数据类型。Oracle和DB2作为两种广泛使用的数据库管理系统,它们各自拥有独特的数据类型体系。理解这些映射关系有助于确保数据的一致性和兼容性。 1....

    ORACLE转DB2对照全解

    **注意:** DB2不支持`REPLACE`关键字,并且在定义数据类型时需要指定长度。此外,`LANGUAGE SQL`在DB2 V8版本中是可选的。 ##### 1.2 创建触发器 **Oracle:** ```sql CREATE OR REPLACE TRIGGER connect_audit_...

    DB2与ORACLE常用语句对照

    以上只是部分常见的对照点,实际的转换可能需要考虑更多细节,例如数据类型、约束条件、安全性设置等。提供的两个文档"ORACLE到DB2转换.doc"和"ORACLE转DB2对照.doc"应该包含更详尽的对照和转换指南,帮助用户更准确...

    JAVA数据类型与DB2、Oracle、Sybase以及SQL Server对应关系.xlsx

    JAVA数据类型与DB2、Oracle、Sybase以及SQL Server对应关系,存一下备用,也分享给大家,希望有所帮助。

    oracle 与db2比较

    通过对比可以看出,虽然两者都支持大多数常用的数据类型,但在具体实现细节上存在差异,如Oracle支持更多的二进制数据类型(BLOB/CLOB等),而DB2则提供了更细粒度的整数类型支持。 #### 三、架构布局 Oracle和DB2...

    DB2到ORACLE的数据转移工具程序

    两个数据库系统中数据类型的对应并不完全一致。例如,DB2的DATE类型可能需要映射到Oracle的DATE或TIMESTAMP类型。在迁移过程中,需要确保所有数据类型的正确映射,以避免数据丢失或错误。 3. 表结构迁移: 在转移...

    oracle-DB2.rar_oracle

    当我们涉及到"oracle-DB2数据类型对照"这个主题时,我们需要探讨的是这两个系统在数据存储和类型定义方面的异同。 首先,让我们深入了解Oracle的数据类型。Oracle提供了一套全面的数据类型,用于存储各种不同类型的...

    舞动DB2之2_从Oracle到DB2开发 从容转身.rar

    在迁移前,需要进行详尽的数据审计,了解Oracle数据库的结构和数据类型,并确保在DB2中有对应的兼容性支持。 2. 应用适配:Oracle和DB2的SQL语法虽然大部分兼容,但仍有细微差别。开发者需要修改SQL语句、存储过程...

    DB2到Oracle的数据迁移

    - **数据类型兼容性**:确保源数据库(DB2)和目标数据库(Oracle)中的数据类型兼容。例如,DB2中的`TIMESTAMP`类型可能需要映射为Oracle中的`DATE`类型。 - **字符集问题**:确保在导出和导入过程中使用的字符集...

    数据库数据类型__oracle_db2_mysql_sql_server.pdf

    Oracle、DB2 和 SQL Server 也有自己独特的一套数据类型,虽然在基本概念上与上述提到的数据库系统相似,但具体的实现细节和扩展功能有所不同。例如,Oracle支持更多高级的数据类型,如**BINARY_FLOAT**和**BINARY_...

    DB2和ORACLE_应用开发差异比较

    - **二进制数据类型**:Oracle的`RAW`类型在DB2中没有直接对应,但可以通过`CHAR FOR BIT DATA`或`BLOB`类型来实现。 - **日期和时间类型**:Oracle的`DATE`类型在DB2中对应`TIMESTAMP`,但在处理日期和时间上有一些...

    Oracle9i数据类型Java数据类型Schema类型对比.doc

    - Java 的基本数据类型如 byte, short, int, long, float, double, boolean 与 Oracle9i 中的某些数字类型相对应。 - String 类型用于存储文本,与 Oracle9i 中的 CHAR 和 VARCHAR2 类型匹配。 - Date 和 ...

    oracle转DB2 对照

    - 注意点: 在DB2中,数据类型的长度是必须指定的,并且需要指定 `LANGUAGE SQL` 来指示这是一个SQL存储过程。 ##### 1.2 创建触发器 - **Oracle**: 支持 `CREATE OR REPLACE` 语法,允许替换已存在的触发器。 ```...

    oracle与db2的区别.pdf

    例如,Oracle 的 PL/SQL 与 DB2 的 SQL PL 在存储过程和触发器的编写上有区别。 7. **许可证和成本**: - Oracle 和 DB2 都提供不同级别的许可证和定价,根据企业的需求和规模,这可能是选择数据库系统时的重要...

Global site tag (gtag.js) - Google Analytics