列のマッピング規則
FM/Db2 は、列のマッピング規則に示す規則に基づいて、指定された「From (元)」列を指定された「To (宛先)」列にマッピングできるかどうかを判断します。「Yes」は、マッピングが有効であることを示します。「No」は、そのマッピングが無効であることを示します。
注: マッピングを行う場合、
To (宛先)列のデータ・タイプとの互換性がないデータ・タイプの
From (元)列を選択することはできません。例えば、「Delete “From column” (「元の列」の削除)」が選択されたことを示す「From Column Mapping (元列のマッピング)」パネル は、2 つの DATE
元列の HIREDATE および BIRTHDATE を数値
宛先列の BONUS へのマッピングには選択できないものとして示しています。
「元」列 | 「宛先」列 | ||||
---|---|---|---|---|---|
DATE | TIME | TIMESTAMP | 文字 | 数値 | |
DATE | あり | なし | なし | あり | なし |
TIME | なし | あり | なし | あり | なし |
TIMESTAMP | あり1 | あり2 | あり3 | あり | なし |
文字4 | あり5 | あり5 | あり5 | あり | あり6 |
数値7 | なし | なし | なし | なし | あり |
これらの規則は、有効にマップされた「元」列を、どのように「宛先」列に移動するかを規定しています。「宛先」列が以下の場合は次のようになります。
- DATE
- 「元」列にデータ・タイプ TIMESTAMP (タイム・スタンプ) がある場合には、「元」列の 1–4 バイトだけが「宛先」列に移動されます。そうでない場合には、「元」列の完全な 4 バイトが「宛先」列に移動されます。
- TIME
- 「元」列にデータ・タイプ TIMESTAMP (タイム・スタンプ) がある場合には、「元」列の 5–7 バイトだけが「宛先」列に移動されます。そうでない場合には、「元」列の完全な 3 バイトが「宛先」列に移動されます。
- TIMESTAMP
- 「元」列と「宛先」列のデータ・タイプが同一であるときは、「元」列のすべてのバイトが「宛先」列に移動します。
精度および TIME ZONE コンポーネントが「元」列と「宛先」列では異なる場合、次のようになります。
- 「元」列の精度の桁数が「宛先」列の精度の桁数より多い場合、秒の小数部分にある超過した桁は失われます。
- 「元」列の精度の桁数が「宛先」列の精度の桁数より少ない場合、秒の小数部分の右側にゼロが埋め込まれます。
- TIME ZONE が「元」列に含まれていて「宛先」列には含まれない場合、TIME ZONE 情報は失われます。
- TIME ZONE が「元」列に含まれないときに「宛先」列には含まれる場合、TIME ZONE 情報が追加されます。
- 文字
- データは左端の文字位置に合わせられ、必要に応じて右側のスペースが切り捨てられるか、右側にスペースが埋め込まれます。
「元」列が数値列の場合は、絶対値 (符号なし) が使用されます。列が符号付きとして定義されて符号が 1 文字分を占めている場合は、その文字は移動されず、送られる項目は実際のサイズより 1 文字だけ小さいものと見なされます。
- 整数またはパック
- データは、想定した小数点位置に合わせられ、必要に応じてゼロが切り捨てられるか、埋め込まれます。約束上の小数点がフィールド定義に明示的に指定されていないときは、フィールドの右端にあるものと想定されます。
「元」列が数値の場合には、データは、「元」列と「宛先」列が両方とも符号付きとして記述されている場合と同様に移動されます。
「元」列が英数字の場合には、データは、「元」列が符号付き数値として記述されている場合と同様に移動されます。
- 内部浮動小数点
- 小数点は、列の左端にあるものと即時に見なされます。データは、小数点に続いて左端の数字位置に合わせられ、指数部の位置合わせもそれに応じて行われます。
- 外部浮動小数点
- データは左端の桁位置に合わせられて、指数もそれに応じて調整されます。
関連するタスク
1 TIMESTAMP (タイム・スタンプ) の DATE (日付) データ・タイプへの変換によって、時刻の値は切り捨てられます。Db2® でインストール定義された日付の形式が LOCAL の場合には、データ・タイプの変換はサポートされません。
2 TIMESTAMP (タイム・スタンプ) の TIME (時刻) データ・タイプへの変換によって、日付およびマイクロ秒の値は切り捨てられます。Db2® でインストール定義された時刻の形式が LOCAL の場合には、データ・タイプの変換はサポートされません。
3 非類似 TIMESTAMP データ・タイプ間で変換を行うと、精度が失われるか、または秒の小数部分にゼロが埋め込まれる可能性があります。同様に、タイム・ゾーン情報が消失するか、または現行サーバーのデフォルトのタイム・ゾーンが追加される可能性があります。例:
TIMESTAMP(4) -> TIMESTAMP(10)
2012-12-02-12.34.56.1234 2012-12-02-12.34.56.1234567890
TIMESTAMP(4) WITH TIME ZONE -> TIMESTAMP(0)
2012-12-02-12.34.56.1234-12:00 2012-12-02-12.34.56
4 カテゴリー「文字」には、CHAR および VARCHAR データ・タイプが含まれます。
5 文字の値は、有効な形式でなければならず、Db2® のインストールで定義された日付および時刻の形式によって異なります。そうでない場合には、「To (宛先)」列は、データ作成属性で指定されたデフォルト値に設定されます。Db2® でインストール定義された日付または時刻の形式が LOCAL の場合には、FM/Db2 はこれを
宛先列に挿入する前に
元列の妥当性を検査することはできません。
6 「元」列は、数字だけで構成されていなければならず、数値列として扱われます。
7 カテゴリー「数値」には、DECIMAL、NUMERIC、SMALLINT、INTEGER、REAL、DOUBLE、DOUBLE PRECISION、FLOAT、および DECFLOAT データ・タイプが含まれます。