Shoeisha Technology Media

EnterpriseZine(エンタープライズジン)

EnterpriseZine(エンタープライズジン)

テーマ別に探す

004 いろいろなデータベース

  2012/06/19 00:00

前回ご紹介したリレーショナル・データベース以外にも、データベースには、いろいろな種類があります。また、同じリレーショナル・データベースであっても、一部の機能については、実際に利用する製品によって異なる場合があります。今回は、代表的なリレーショナル・データベース製品である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文でも実際に利用する製品によって異なる場合がありますので、注意が必要です。

※この続きは、会員の方のみお読みいただけます(登録無料)。


※この続きは、会員の方のみお読みいただけます(登録無料)。


著者プロフィール

  • 平井 明夫(ヒライ アキオ)

    株式会社エムキューブ・プラスハート 事業企画コンサルタント DEC、コグノス、オラクル、IAFコンサルティングにおいて20年以上にわたり、ソフトウエア製品やITサービスのマーケティング、事業企画・運営に携わる。現在は、事業企画コンサルタントとしてIT企業の新規事業立上げ、事業再編を支援するかたわら...

バックナンバー

連載:DB入門
All contents copyright © 2007-2019 Shoeisha Co., Ltd. All rights reserved. ver.1.5