站长家园(原代码之家)(www.adminjie.com)网站源码,微信源码,游戏源码,商业源码分享平台。
当前位置:网站首页 技术文章 网络编程 正文

oracle与db2的区别是什么

时间:2022-01-09 [网络编程]作者:fabuyuan 浏览:5 次

区别:1、oracle支持“create or replace”语句,DB2不支持;2、ORACLE中DATE类型是带有时分秒的,DB2下DATE只是年月日;3、Oralce中SUBSTR()函数的第二个参数可以取值为0,而DB2中不可以。

oracle与db2的区别是什么  2

本教程操作环境:Windows7系统、Oracle 11g版、Dell G3电脑。

Oracle和DB2是两种不同的数据库。

Oracle:

Oracle是甲骨文公司的一款关系数据库管理系统。

ORACLE数据库系统是美国ORACLE公司(甲骨文)提供的以分布式数据库为核心的一组软件产品,是目前最流行的客户/服务器(CLIENT/SERVER)或B/S体系结构的数据库之一。比如SilverStream就是基于数据库的一种中间件。ORACLE数据库是目前世界上使用最为广泛的数据库管理系统,作为一个通用的数据库系统,它具有完整的数据管理功能;作为一个关系数据库,它是一个完备关系的产品;作为分布式数据库它实现了分布式处理功能。

DB2:

全称为IBM DB2。是美国IBM公司开发的一套关系型数据库管理系统,它主要的运行环境为UNIX(包括IBM自家的AIX)、Linux、IBM i(旧称OS/400)、z/OS,以及Windows服务器版本。

DB2主要应用于大型应用系统,具有较好的可伸缩性,可支持从大型机到单用户环境,应用于所有常见的服务器操作系统平台下。 DB2提供了高层次的数据利用性、完整性、安全性、可恢复性,以及小规模到大规模应用程序的执行能力,具有与平台无关的基本功能和SQL命令。DB2采用了数据分级技术,能够使大型机数据很方便地下载到LAN数据库服务器,使得客户机/服务器用户和基于LAN的应用程序可以访问大型机数据,并使数据库本地化及远程连接透明化。 DB2以拥有一个非常完备的查询优化器而著称,其外部连接改善了查询性能,并支持多任务并行查询。 DB2具有很好的网络支持能力,每个子系统可以连接十几万个分布式用户,可同时激活上千个活动线程,对大型分布式应用系统尤为适用。

oracle与db2的区别

数据类型转换函数

oracle与db2的区别是什么  2

a.子查询别名 ( as能否使用 )

ORACLE 中支持:select * from(select 1 from dual) 或者 select * from(select 1 from dual) t

DB2    中支持:select * from(select 1 from sys.userId) t 或者 select * from(select 1 from sys.userId) as t

两者兼容  写法:select * from(子查询) t

Oracle中遇到列名为Oracle关键字的,需要用双引号括起来

b.创建索引时 ( replace字段 )

oracle支持,DB2不支持

create or replace语句在DB2下是非法的

不可以用 CREATE OR REPLACE SEQUENCE a1,要用 CREATE SEQUENCE a1

c.DATE数据类型的区别:

ORACLE中DATE类型是带有时分秒的,但DB2下DATE只是年月日,如’2007-04-28’,且可作为字符串直接操作,DB2中要记录时分秒必须采用TIMESTAMP型。sql传值的时候,DB中是日期类型的,如果画面中只有年月日(yyyy-MM-dd),在操作数据库的时候,传值时候要注意:

①用String传值

②用Date传值(需要将Date型变量中的时分秒格式化)

select to_char(systimestamp, 'yyyy-mm-dd hh24:mi:ss:ff') from dual;
select to_date(to_char(systimestamp, 'yyyy-mm-dd hh24:mi:ss:ff'),'yyyy-mm-dd hh24:mi:ss:ff')from dual;

d.获取系统日期:

ORACLE: Select sysdate from dual;
DB2:    Select current timestamp/date from sysibm.sysdummy1;

e.Substr用法:

SUBSTR(Str,POS,<LENGTH>) ; --Str需要截取的参数,POS从什么位置截取,LENGTH截取的长度

在Oralce中,position是可以取值为0的,但是在DB2中,取值为0的话会报错;

在Oracle中,我们的length长度是可以大于等于char字符串的长度的,但是函数本身的处理是依据你的起始位置position到char字符串结尾位置的长度来处理,并不会跟你所给定的length来确定,相当于是Oracle为我们做了正确性的辨别并处理掉多余的长度。

在DB2中,如果length的长度大于了起始位置到结束位置之间的长度,那么数据库只为我们报错,并不会像Oracle那样执行出我们想得到的结果。

f.函数 rownum等的用法区别:

函数rownum在DB2中是不被支持的;

如果采用JDBC分页的话,注意rownum在DB2中不受支持,比如从masa_area表中取得area_id最小的10条记录,语句分别如下,注意这里的别名 t 书写方法

ORACLE:
select t.* from (select rownum as r1 ,masa_area.* from masa_area order by area_id) t where t.r1<=10

DB2: 
select t.* from (select rownumber() over() as r1 ,masa_area.* from masa_area order by area_id) t where t.r1<=10

推荐教程:《Oracle教程》

以上就是oracle与db2的区别是什么的详细内容,更多请关注站长家园其它相关文章!

本文标签:  oracledb2

转载请注明来源:oracle与db2的区别是什么

本文永久链接地址:https://www.adminjie.com/post/7443.html

免责声明:
本站所发布的一切资源仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。

附:
二○○二年一月一日《计算机软件保护条例》第十七条规定:为了学习和研究软件内含的设计思想和原理,通过安装、显示、传输或者存储软件等方式使用软件的,可以不经软件著作权人许可,不向其支付报酬!鉴于此,也希望大家按此说明研究软件!

版权声明:
一、本站致力于为软件爱好者提供国内外软件开发技术和软件共享,着力为用户提供优资资源。
二、本站提供的部分源码下载文件为网络共享资源,请于下载后的24小时内删除。如需体验更多乐趣,还请支持正版。
三、我站提供用户下载的所有内容均转自互联网。如有内容侵犯您的版权或其他利益的,若有侵犯你的权益请:提交版权证明文件到邮箱 2225329873#qq.com(#换为@) 站长会进行审查之后,情况属实的会在三个工作日内为您删除。

  • 站长家园(原代码之家)会员升级
  • 最新文章
    • oracle中not的用法是什么

      oracle中not的用法是什么

      在oracle中,not用于对指定的条件取反,当指定的条件为真时,not的结果就是假,当指定的条件为假时,not的结果就是真,语法为“Selectwhere...

    • Vue3中5个可以提高开发效率的小知识【整理分享】

      Vue3中5个可以提高开发效率的小知识【整理分享】

      本篇文章给大家聊聊Vue3开发,整理分享5个可以提高开发效率的小知识,让你在Vue3的项目开发中更加丝滑,希望对大家有所帮助!最近鼓捣了一下Vue3+...

    • php5.6.31如何编译安装

      php5.6.31如何编译安装

      php5.6.31编译安装的方法:1、添加epel源;2、安装依赖;3、下载并解压php5.6.31;4、修改php-fpm.conf;5、启动php-fpm即...

    • oracle怎样进行空值替换

      oracle怎样进行空值替换

      在oracle中,可利用nvl()函数进行空值替换,该函数用于从两个表达式中返回一个非null值,语法为“nvl(字段值,替换值)”;当字段值的结果为null值...

    • oracle数据库有什么用

      oracle数据库有什么用

      oracle数据库的作用:1、oracle可以按照数据结构来组织、存储和管理数据;2、oracle能够适用于大型、中型和微型计算机的关系数据库管理。本教程操作环...

    热门文章