相違点: 1. Oracle は「create or replace」ステートメントをサポートしていますが、DB2 はサポートしていません; 2. ORACLE の DATE 型には時、分、秒がありますが、DB2 の DATE は年、月のみです。および日; 3. SUBSTR ( ) 関数の 2 番目のパラメーターは値 0 を取ることができますが、DB2 ではそうではありません。
このチュートリアルの動作環境: Windows 7 システム、Oracle 11g バージョン、Dell G3 コンピューター。
Oracle と DB2 は 2 つの異なるデータベースです。
Oracle:
Oracle は、Oracle Corporation のリレーショナル データベース管理システムです。
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 の違い
データ型変換関数a. サブクエリのエイリアス (使用可能なもの)
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. インデックスの作成時 (フィールドの置換)
Oracle はサポートしますが、DB2 はサポートしません DB2 では create または replace ステートメントは無効です不可以用 CREATE OR REPLACE SEQUENCE a1,要用 CREATE SEQUENCE a1
c.DATE データ型の違い:
ORACLE の DATE タイプには時、分、秒が含まれますが、DB2 では DATE は年、月、日のみです (「2007-04-28」など)。 DB2 では、記録時間、分、秒は TIMESTAMP タイプである必要があります。 SQLで値を渡す場合、DBは日付型になりますので、画面内に年月日(yyyy-MM-dd)しかない場合、データベースを操作する際は値を渡すときに注意してください: ①文字列を使用して値を渡します ② 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.Getシステム日付:
ORACLE: Select sysdate from dual; DB2: Select current timestamp/date from sysibm.sysdummy1;
e.Substr の使用法:
SUBSTR(Str,POS,<LENGTH>) ; --Str需要截取的参数,POS从什么位置截取,LENGTH截取的长度
f. 関数 rownum などの使用法の違い:
関数 rownum は DB2 ではサポートされていません; JDBC ページングを使用する場合、DB2 では rownum がサポートされていないことに注意してください 例えば、masa_area テーブルから area_id が最も小さいレコードを 10 件取得します 文は以下の通りです ここでのエイリアスに注意してください 記述方法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の違いは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。