SQL の互換性の機能拡張

Db2 データベース製品以外のリレーショナル・データベース製品を使用する場合、 Db2バージョン 11.1 には、他のリレーショナル・データベース製品用に作成されたアプリケーションを Db2 環境で実行する際の時間と複雑さを軽減する機能拡張が含まれています。
11.1での SQL 互換性の機能拡張のリストを以下の表に示します。
表 1. 11.1 での SQL 互換性の機能拡張
機能拡張 説明
バイナリー・ストリング・データをサポートする BINARY データ型および VARBINARY データ型。 BINARY データ型および VARBINARY データ型にバイナリー・ストリング・データを格納し、操作することができます。 それにより、BLOB 型を使用する場合のオーバーヘッドを回避できます。 バイナリー・ストリングは、画像、音声、またはその混合メディアを格納するために使用するバイト・シーケンスです。 BINARY データ型と VARBINARY データ型は互いに互換性があり、それらは BLOB データ型と互換性があります。 バイナリー・ストリング・データ型は、文字ストリング・データ型とは互換性がありませんが、FOR BIT DATA として定義されている文字ストリングとは互換性があります。 BINARY データ型および VARBINARY データ型のサポートにより、他のリレーショナル・データベース管理システムとの互換性が強化されました。 詳しくは、 バイナリー・ストリングを参照してください。
スカラー関数での正規表現サポート。 以下のスカラー関数には、検索機能強化のための正規表現のサポートが提供されています。
SQL 互換性を強化する拡張機能
外部結合演算子、つまり正符号 (+) を使用した外部結合のサポート。 外部結合演算子のサポートにより、クロス・ベンダーのサポートが強化されました。 Db2 互換フィーチャーの概要 および DB2_COMPATIBILITY_VECTOR レジストリー変数 を参照してください。
新しい組み込み集約関数およびスカラー関数。 他のリレーショナル・データベース管理システムとの機能性と互換性を強化する以下の新しい組み込み関数が導入されました。
ユーザー定義集約関数のための新しい CREATE FUNCTION ステートメント。 新しい CREATE FUNCTION (集約インターフェース) ステートメントを使用すると、任意のプログラミング言語を使用して独自の集約関数を作成できます。
FETCH FIRST 節の OFFSET オプション offset-clause を使用して、副選択の取得中にスキップされる行数を設定します。
代替構文 以下の SQL 代替構文を使用できるようになりました。
  • 制限 ... OFFSET は FETCH FIRST の代替構文です ... OFFSET 文節。
  • ISNULL および NOTNULL は、IS NULL および IS NOT NULL の各述語の代替構文です。
  • DISTRIBUTE ON は、DISTRIBUTE BY 節の代替構文です。
新しいデータ型 以下の追加の データ・タイプ を使用できるようになりました。
  • INT2
  • INT4
  • INT8
  • FLOAT4
  • FLOAT8
  • BPCHAR
OVERLAPS 述部 OVERLAPS 述部 は、2 つの発生順の期間がオーバーラップしているかどうかを判別するために使用します。
DATASLICEID 疑似列 任意の行数のデータベース・パーティション番号を戻すには、 DATASLICEID 疑似列 を使用します。
シノニム 以下の関数の呼び出しのために、以下のシノニムを使用できるようになりました。
  • COVAR_POP (COVARIANCE のシノニム)
  • LOG (LN のシノニム)
  • POWER ® 向け POW
  • RANDOM (RAND のシノニム)
  • STDDEV_POP (STDDEV のシノニム)
  • STRPOS (POSSTR のシノニム)
  • STRLEFT (LEFT のシノニム)
  • STRRIGHT (RIGHT のシノニム)
  • VAR_POP (VARIANCE のシノニム)
  • VAR_SAMP (VARIANCE_SAMP のシノニム)
Netezza® Performance Server (NPS ®) の互換性機能 SQL_COMPAT グローバル変数 を使用して、以下のオプションの NPS 互換性フィーチャーをアクティブにすることができます。
ダブルドット表記
NPS 互換モードで動作しているときは、ダブルドット表記を使用してデータベース・オブジェクトを指定できます。
TRANSLATE パラメーターの構文
TRANSLATE パラメーターの構文は、NPS 互換モードが使用されているかどうかに応じて異なります。
演算子
式の中で演算子を表すために使用する記号は、NPS 互換モードを使用するかどうかによって異なります。
SELECT 節の列によるグループ化
NPS 互換モードで動作している場合は、照会の結果をグループ化するために SELECT 節の列を指定する際に、列の位置を示す序数を使用することも、列の直接的な名前を使用することもできます。
NZPLSQL で作成されたルーチン
NPS 互換モードで操作するとき、SQL PL 言語に加えて NZPLSQL 言語を使用することができます。