前回ご紹介したリレーショナル・データベース以外にも、データベースには、いろいろな種類があります。また、同じリレーショナル・データベースであっても、一部の機能については、実際に利用する製品によって異なる場合があります。今回は、代表的なリレーショナル・データベース製品であるOracleとSQL Serverの2つを例にとって、その違いを説明します。次に、リレーショナル・データベース以外のデータベースの例として、カラム型データベース、多次元データベース、NoSQLデータベースの3つをご紹介します。
OracleとSQL Serverの違い
OracleとSQL Serverは、いずれも代表的なリレーショナル・データベース製品ですが、連載第3回で登場した基本的なSQL文の中でさえ、文法が異なるものが2つあります。
1つ目は文字列を結合するSQL文です。連載第3回では、文字列の結合には、「||」を使用しましたが、これはOracleでの文法です。
    SQL Serverでは、「||」のかわりに「+」を使用しますので、SQLは以下のようになります。
    2つ目は、年齢をもとめるSQL文です。連載第3回では、「GETDATE」と「DATEDIFF」を使用しましたが、これはSQL Serverでの文法です。
    Oracleでは、現在の日時を得る関数は「SYSDATE」になります。また、Oracleには、「DATEDIFF」に相当する関数がありませんので、より複雑な手順が必要になります。
 ① 現在の日時と生年月日を、それぞれ「TO_CHAR」関数で8桁の文字列に変換する
     ② 文字型になった現在の年月日と生年月日を引き算して、結果を10000で割る(桁を4桁ずらす)
     ③ もとめられた結果の小数点以下を「TRUNC」関数で切り捨てる
Oracleで年齢をもとめるSQL文は以下のようになります。
    このように、ごく基本的なSQL文でも実際に利用する製品によって異なる場合がありますので、注意が必要です。
この記事は参考になりましたか?
- DB入門連載記事一覧
 - 
            
- いろいろなデータベース
 - リレーショナル・データベース入門
 - Excelでもできるデータベース体験(後編)
 
 
- この記事の著者
 - 
                  
                    平井 明夫(ヒライ アキオ)
株式会社エムキューブ・プラスハート 事業企画コンサルタントDEC、コグノス、オラクル、IAFコンサルティングにおいて20年以上にわたり、ソフトウエア製品やITサービスのマーケティング、事業企画・運営に携わる。現在は、事業企画コンサルタントとしてIT企業の新規事業立上げ、事業再編を支援するかたわら、デ...
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
 
この記事は参考になりましたか?
この記事をシェア
