3.2.3 抽出したデータのデータ型変換
データを反映するときに変換できるデータ型について説明します。
HiRDB Dataextractorで変換できるデータ型を,「表3-10 HiRDB Dataextractorで変換できるデータ型(ORACLEの場合)(1/2)」,「表3-11 HiRDB Dataextractorで変換できるデータ型(ORACLEの場合)(2/2)」に示します。
データを反映するとき,HiRDB Dataextractorは抽出対象の列と反映対象の列とを比較し,「表3-10 HiRDB Dataextractorで変換できるデータ型(ORACLEの場合)(1/2)」,「表3-11 HiRDB Dataextractorで変換できるデータ型(ORACLEの場合)(2/2)」に示すデータ型の組み合わせであればデータ型を変換します。
また抽出する行を選択する場合,表式記述ファイルの条件の指定が「表3-10 HiRDB Dataextractorで変換できるデータ型(ORACLEの場合)(1/2)」,「表3-11 HiRDB Dataextractorで変換できるデータ型(ORACLEの場合)(2/2)」に示すデータ型の組み合わせであれば,HiRDB Dataextractorは指定されたデータを比較します。
抽出側のデータ型(ORACLE内部データ型) |
反映側(HiRDB)のデータ型 |
||||
---|---|---|---|---|---|
日間隔データ YEAR |
時間隔データ HOUR |
時刻印データ TIMESTAMP |
長大データ※9 BLOB,BINARY |
抽象データ型 SGMLTEXT,XML,FREEWORD |
|
NUMBER |
× |
× |
× |
× |
× |
CHAR VARCHAR2 |
× |
× |
× |
× |
× |
NCHAR NVARCHAR2 |
× |
× |
× |
× |
× |
DATE※4 |
○※2 |
○※3 |
○※10 |
× |
× |
LONG |
× |
× |
× |
○ |
× |
LONG RAW |
× |
× |
× |
○ |
× |
RAW |
× |
× |
× |
○ |
× |
BLOB CLOB NCLOB BFILE |
× |
× |
× |
○ |
× |
- (凡例)
-
○:変換できます。
×:変換できません。
- 注※1
-
文字属性を数データに変換する場合,文字属性のデータは1バイトコードの数値文字列である必要があります。
- 注※2
-
日付情報だけを取り出します。また,日付情報が紀元前の場合はエラーとし処理を中止します。
- 注※3
-
時刻情報だけを取り出します。
- 注※4
-
一つのDATE属性列を反映側の日付データと時刻データの2列に変換したい場合は,DATE属性列を2列分抽出する必要があります。
- 注※5
-
この組み合わせで実行する場合の注意を次に示します。
-
抽出側のデータ長<反映側のデータ長の場合,1バイトの空白を設定します。
-
抽出側のデータ内容を,そのまま反映側に格納します。
-
- 注※6
-
この組み合わせで実行する場合の注意を次に示します。
-
抽出側のデータ長≦2×反映側の文字数である必要があります。
-
抽出側のデータ長<反映側のデータ長の場合,2バイトの空白を設定します。
-
抽出側のデータ長が奇数バイトの場合,1バイトの空白を付加して偶数バイトに調整します。
-
- 注※7
-
次の場合は,データの切り捨てが発生するため注意してください。
ただし,環境変数XTERRLEVELに0以外を指定した場合は,指定に従って処理されます。
-
文字データ,混在文字データ,各国文字データの場合
抽出側のデータ長>反映側のデータ長
-
- 注※8
-
次の場合は,データの切り捨てが発生するため注意してください。
-
DECの場合
抽出側の整数部のけた数>反映側の整数部のけた数
-
- 注※9
-
次の場合は,データの変換はできません。
ただし,環境変数XTLOBBUFSIZEが指定された場合は,環境変数XTERRLEVELの指定に従って処理されます。
抽出側のデータ長>反映側のデータ長
- 注※10
-
日付情報が紀元前の場合はエラーとなります。反映側に小数秒が定義されているとき(TIMESTAMP(0)以外),余った後ろに0x00を埋めます。
- 注※11
-
反映側が文字データの場合,環境変数XTORANCSETにutf-16を指定して文字集合列を抽出・反映するときの注意を次に示します。
-
2×抽出側NCHARの文字数=反映側CHARの文字数である必要があります。
-
2×抽出側NVARCHARの文字数=反映側VARCHARの文字数である必要があります。
-