站長資訊網(wǎng)
        最全最豐富的資訊網(wǎng)站

        oracle與db2的區(qū)別是什么

        區(qū)別:1、oracle支持“create or replace”語句,DB2不支持;2、ORACLE中DATE類型是帶有時分秒的,DB2下DATE只是年月日;3、Oralce中SUBSTR()函數(shù)的第二個參數(shù)可以取值為0,而DB2中不可以。

        oracle與db2的區(qū)別是什么

        本教程操作環(huán)境:Windows7系統(tǒng)、Oracle 11g版、Dell G3電腦。

        Oracle和DB2是兩種不同的數(shù)據(jù)庫。

        Oracle:

        Oracle是甲骨文公司的一款關系數(shù)據(jù)庫管理系統(tǒng)。

        ORACLE數(shù)據(jù)庫系統(tǒng)是美國ORACLE公司(甲骨文)提供的以分布式數(shù)據(jù)庫為核心的一組軟件產(chǎn)品,是目前最流行的客戶/服務器(CLIENT/SERVER)或B/S體系結(jié)構的數(shù)據(jù)庫之一。比如SilverStream就是基于數(shù)據(jù)庫的一種中間件。ORACLE數(shù)據(jù)庫是目前世界上使用最為廣泛的數(shù)據(jù)庫管理系統(tǒng),作為一個通用的數(shù)據(jù)庫系統(tǒng),它具有完整的數(shù)據(jù)管理功能;作為一個關系數(shù)據(jù)庫,它是一個完備關系的產(chǎn)品;作為分布式數(shù)據(jù)庫它實現(xiàn)了分布式處理功能。

        DB2:

        全稱為IBM DB2。是美國IBM公司開發(fā)的一套關系型數(shù)據(jù)庫管理系統(tǒng),它主要的運行環(huán)境為UNIX(包括IBM自家的AIX)、Linux、IBM i(舊稱OS/400)、z/OS,以及Windows服務器版本。

        DB2主要應用于大型應用系統(tǒng),具有較好的可伸縮性,可支持從大型機到單用戶環(huán)境,應用于所有常見的服務器操作系統(tǒng)平臺下。 DB2提供了高層次的數(shù)據(jù)利用性、完整性、安全性、可恢復性,以及小規(guī)模到大規(guī)模應用程序的執(zhí)行能力,具有與平臺無關的基本功能和SQL命令。DB2采用了數(shù)據(jù)分級技術,能夠使大型機數(shù)據(jù)很方便地下載到LAN數(shù)據(jù)庫服務器,使得客戶機/服務器用戶和基于LAN的應用程序可以訪問大型機數(shù)據(jù),并使數(shù)據(jù)庫本地化及遠程連接透明化。 DB2以擁有一個非常完備的查詢優(yōu)化器而著稱,其外部連接改善了查詢性能,并支持多任務并行查詢。 DB2具有很好的網(wǎng)絡支持能力,每個子系統(tǒng)可以連接十幾萬個分布式用戶,可同時激活上千個活動線程,對大型分布式應用系統(tǒng)尤為適用。

        oracle與db2的區(qū)別

        數(shù)據(jù)類型轉(zhuǎn)換函數(shù)

        oracle與db2的區(qū)別是什么

        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.創(chuàng)建索引時 ( replace字段 )

        oracle支持,DB2不支持

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

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

        c.DATE數(shù)據(jù)類型的區(qū)別:

        ORACLE中DATE類型是帶有時分秒的,但DB2下DATE只是年月日,如’2007-04-28’,且可作為字符串直接操作,DB2中要記錄時分秒必須采用TIMESTAMP型。sql傳值的時候,DB中是日期類型的,如果畫面中只有年月日(yyyy-MM-dd),在操作數(shù)據(jù)庫的時候,傳值時候要注意:

        ①用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.獲取系統(tǒng)日期:

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

        e.Substr用法:

        SUBSTR(Str,POS,<LENGTH>) ; --Str需要截取的參數(shù),POS從什么位置截取,LENGTH截取的長度

        在Oralce中,position是可以取值為0的,但是在DB2中,取值為0的話會報錯;

        在Oracle中,我們的length長度是可以大于等于char字符串的長度的,但是函數(shù)本身的處理是依據(jù)你的起始位置position到char字符串結(jié)尾位置的長度來處理,并不會跟你所給定的length來確定,相當于是Oracle為我們做了正確性的辨別并處理掉多余的長度。

        在DB2中,如果length的長度大于了起始位置到結(jié)束位置之間的長度,那么數(shù)據(jù)庫只為我們報錯,并不會像Oracle那樣執(zhí)行出我們想得到的結(jié)果。

        f.函數(shù) rownum等的用法區(qū)別:

        函數(shù)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教程》

        贊(0)
        分享到: 更多 (0)
        網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號
        主站蜘蛛池模板: 91久久精品91久久性色| 国产成人无码精品一区在线观看 | 亚洲一区二区三区国产精品| 99精品人妻少妇一区二区| 精品人妻久久久久久888| 亚洲国产精品一区二区三区久久| 国产精品99精品视频网站| 老司机91精品网站在线观看| 91麻豆精品国产| 久久亚洲私人国产精品| 影院无码人妻精品一区二区| 人妻VA精品VA欧美VA| 精品国产亚洲一区二区在线观看| 99熟女精品视频一区二区三区| 欧美+亚洲+精品+三区| 国产精品一级片| 精品国产日产一区二区三区| 99久久精品国内| laowang在线精品视频| 国产精品成熟老女人视频| 国产午夜福利精品久久2021| 精品国产乱码久久久久久郑州公司| 亚洲色精品aⅴ一区区三区| 亚洲精品99久久久久中文字幕| 久久国产精品免费一区二区三区| 国产精品青青在线观看爽香蕉| 成人午夜精品久久久久久久小说 | 亚洲欧美精品午睡沙发| 日韩精品无码免费视频| 日韩精品欧美| 亚洲精品无码专区在线在线播放| 亚洲欧洲精品无码AV| 亚洲精品国产成人片| 日产精品一线二线三线芒果| 人妻熟妇乱又伦精品视频| 无码人妻精品一区二区三区久久久 | 精品久久久久久无码专区不卡| 精品少妇人妻av无码久久| 精品久久久久久国产潘金莲| 99re热视频这里只精品| 8050免费午夜一级国产精品|