変換は、1 つのエレメントまたは列、または複数のエレメントまたは列を対象とすることができます。 例えば、単一エレメントの変換において、ドル建ての給与を示した列がソースに入っているとします。 ターゲット・サイドの一致列には、それに似通った列が入っているけれども、その値は数千ドルの単位であるとします。 そのため、ソース列のタイプを、ターゲット列のタイプに変換します。
複数エレメントの変換は、多対 1 の関係になります。 例えば、名エレメントと姓エレメントがソース・サイドにあるとします。 ターゲット・サイドにあるのは、単一名エレメントです。 変換によって、ソースの名フィールドと姓フィールドは、ターゲットの単一名フィールドに連結されます。 変換に関与する列は、マッピングではソースとして使用しなければなりません。
1 対多の対応は、必要に応じてそれぞれが独自の変換関数を備えた複数の 1 対 1 の対応として指定されます。
データベース関数とは、一連の入力データ値と一連の結果値の関係のことです。 例えば、TIMESTAMP 関数に DATE および TIME のタイプの入力データ値を渡すことができ、その結果は TIMESTAMP となります。 関数は、組み込みまたはユーザー定義 (マッピングのターゲット・サイドから) のいずれかです。 関数式は、データの変換のため、フィルター条件または結合条件の中、あるいは共通の式パターンを取り込むために使用できます。
組み込み関数には、データベース・マネージャーが用意されています。 この関数は、1 つの結果値を戻します。 そのような関数には、列関数 (例えば AVG)、演算子関数 (例えば +)、およびキャスト関数 (例えば DECIMAL) などがあります。
マッピング・エディターでは、式ビルダー内のすべてのスカラー関数およびすべての集約関数を使用することができます。 それらの関数は、デプロイメント環境と互換性がなければなりません。 式ビルダーに用意されている関数をいくつか以下に示してあります。
DAYOFYEAR('1988-12-25')
語 DINING の中の文字 N のすべての出現箇所を VID に置き換えます。
REPLACE ('DINING', 'N', 'VID')
CHAR(浮動小数点列) = 文字ストリング
MAX(BONUS + 1000)
ABS(SAMP.EMPLOYEE.EMPNO)
算術演算子は、符号付き数値タイプおよび日時タイプに対して適用することができます。 例えば、USER+2 は有効ではありません。 接頭演算子 + (単項加算) の場合、オペランドは変更されません。 接頭演算子 - (単項減算) の場合、ゼロ以外のオペランドの符号は反転されます。さらに、A のデータ・タイプが短精度整数の場合、-A のデータ・タイプは長精度整数になります。 接頭演算子の後に続くトークンの先頭文字は、正符号 (+) または負符号 (-) であってはなりません。 挿入演算子 +、-、*、および / は、それぞれ加算、減算、乗算、および除算を指定します。 除算の 2 番目のオペランドの値はゼロであってはなりません。
述部は、ある特定の行またはグループに対して条件を True、False、または不明と指定します。
マッピング・エディターは、演算子 *、/、+、-、¥、<、>、=、% をサポートします。 マッピング・エディターは、キーワード BETWEEN、NOT、LIKE、NULL、IN、EXISTS をサポートします。
SALARY < 20000
value1 BETWEEN value2 AND value3
DEPTNO IN ('D01', 'B01', 'C01')