`

oracle 和db2 的一些异同点

    博客分类:
  • db2
 
阅读更多

1,  Table space for indexes 的不同

   Oralce:

Create  TABLE T1 .............IN DATA_TA

Create  Index ........ ON  T1  ...... IN   INDX_TS

   DB2:

Create  TABLE T1 ........ IN  DATA_TS INDEX IN INDX_TS

Create  INDEX  .....ON T1

2, RowID

   Oracle:

Oracle RowID ,它是由数据库唯一产生的,在程序里可以获得

   DB2:

DB2的相对应的这个值不能被程序获得

3,一些转换

   Oracle:

Oracle 支持一些转换,比如:

Create table t1(c1 int);

Select  * from t1 where c1=’1’

Select  ‘abc’||2  from t1

   DB2:

DB2不支持一些转换,比如:

Create table t1(c1 int);

Select  * from t1 where c1=CAST(‘1’ AS INT)

Select  ‘abc’||CHAR(2)  from t1

4,函数的值做为表中的缺省值

   Oracle:

Oracle 支持把函数的值做为表中的缺省值,比如:

Create table t1(C1 Number DEFAULT FN() NOT NULL,

            C2 DATE DEFAULT NOT NULL SYSDATE

            )

   DB2:

DB2不支持把函数的值做为表中的缺省值,比如:

Create table t1(C1 INT NOT NULL,

            C2 TIMESTAMP DEFAULT CURRENT TIMESTAMP

            )

这个是不允许的

5,一些内建的函数

Oracle

DB2

NVL

COALESCE

INSTR

LOCATE

DECODE

CASE

LENGTH

LENGTH

TO_CAHR()

CHAR(),INTEGER(),TO_CHAR()

TO_DATE()

CHAR(date,FN)

TO_DATE()

6,公用的同义词(Public Synonyms)

     Oracle:

Oracle 支持公用的同义词           

   DB2:

DB2不支持公用的同义词

7Date/Time

Oracle

DB2

SYSDATE

CURRENT DATE

CURRENT TIMESTAMP

DT1+2

Add_months(DT1,5)

DT1+2days

DT2+5months

DT1+3years

DT1-DT2

TIMESTAMODIFF(k,Char(TS1-TS2)

To_date(DT1,’MM/DD/YYYY’)

Char(DT1,USA)

Char(TM1,ISO)

8,外连接

Oracle

DB2

Select A.lastname,A_id,B.name From emp A,Customer B

where A.id(+)=B.sales_rep_id;

Select A.lastname,A_id,B.name From emp A, RIGHT OUTER JOIN Customer B

where A.id=B.sales_rep_id;

Select A.lastname,A_id,B.name From emp A,Customer B

where A.id=B.sales_rep_id(+);

Select A.lastname,A_id,B.name From emp A, LEFT OUTER JOIN  Customer B

where A.id=B.sales_rep_id;

Select A.lastname,A_id,B.name From emp A,Customer B

where A.id(+)=B.sales_rep_id(+);

Select A.lastname,A_id,B.name From emp A, Full OUTER JOIN  Customer B

where A.id=B.sales_rep_id;

   现在, Oracle 9i也支持这种ANSI join 语法

9,字符串和null的合并

   Select ‘abc’||c1 from T1

C1 is null

Result :

 Oracle : abc

 DB2: null

要想得到’abc’DB2中需要这样处理

     Select  ‘abc’||coalesce(c1,’’) from T1

分享到:
评论

相关推荐

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

    在这个过程中,我们将深入理解两个数据库系统的异同,了解迁移的关键点,以及如何构建整体的解决方案。 Oracle和DB2都是企业级的关系型数据库管理系统(RDBMS),广泛应用于大数据处理、云计算和分布式系统中。...

    DB2常用函数与Oracle比较

    本文档旨在深入解析DB2和Oracle数据库中常用函数的异同之处,以便于从一种数据库系统迁移至另一种系统的人员能够快速掌握并适应新的环境。我们将从类型转换函数、时间日期相关的函数以及字符串处理函数三个方面进行...

    面试:如果在现在开发时使用的数据库是DB2(IBM的数据库产品),可能要使用Oracle。在这种背景下,如何开发?

    以下是一些关键的知识点和步骤: 1. **数据模型与SQL语法比较**: - DB2和Oracle都支持SQL,但语法和功能上存在差异。例如,DB2支持`WITH`子句的递归查询,而Oracle则有`CONNECT BY`语法来实现相同功能。开发者...

    IBM公司、ORACLE公司和MICROSOFT公司的商务智能解决方案异同点的分析.pdf

    然而,IBM注重集成和实时分析,ORACLE强调集成的全套解决方案和强大的数据库性能,而微软则以其用户友好的工具和广泛的应用集成见长。企业在选择BI解决方案时,应根据自身需求,如数据规模、分析复杂性、预算和用户...

    DB2数据库与SQLServer数据库的异同.doc

    DB2数据库与SQLServer数据库的异同 DB2、Oracle、SQLServer数据库可以说是数据库领域的三座大山。这三座大山各有各的 特色。为此企业在选型的时候往往会在这三个数据库之间犹豫,不知道该选哪个数据库 好。笔者这里...

    浅析oracle数据库与BD2数据库

    通过对比分析Oracle数据库与DB2数据库,我们可以发现它们虽然在很多方面具有相似之处,但也存在一些关键性的差异。例如,在内存管理方面,虽然都支持SGA和PGA的概念,但在具体的实现机制上有区别。此外,在体系架构...

    比较详细的oracle教程

    - **其他数据库**:对比Oracle与其他数据库系统(如MySQL、SQL Server、DB2)的异同,以及在不同应用场景下的选择建议。 通过以上知识点的学习,初学者可以系统地掌握Oracle数据库的基础理论和实践技能,为日后从事...

    SQL 语言对比

    标题与描述概述的知识点主要集中在SQL语言在三种主流数据库系统——SQL ...以上总结了在三种主流数据库系统中,SQL语言的基本操作和管理指令的异同,这对于跨数据库开发和维护的IT专业人员来说是非常实用的知识点。

    CoreJava部分面试题专家总结(jAVA面试必看).doc

    Core Java 面试题专家总结 本文档总结了 Core Java 面试中常见的问题...每种数据库软件都有其特点和适用范围,例如 SQL Server 的性能和可伸缩性好,Oracle 的性能最高,SYBASE 的安全性高,DB2 的性能和可靠性好等。

    nc技术文档

    **创建和配置oracle数据库的几点补充说明** 给出了一些额外的建议,帮助用户更好地配置Oracle数据库环境。 **RAC10g Windows2000安装与使用手册** 提供了Oracle RAC 10g在Windows 2000平台上的安装教程和使用指南...

Global site tag (gtag.js) - Google Analytics