!--a11y-->
データ型 
データのエクスポートおよびインポート用のほとんどのローダコマンドでは、データストリーム内の関連する項目のデータ型を指定することができます。
データベース内部データ型と外部データ型は区別されます。
● 内部データベースデータ型
内部データ型は、データベーステーブル内の列に定義されているデータ型です。
すべての内部データ型の説明は、SQL
参照マニュアル、
データ型 (data_type)
を参照してください。
● 外部データ型
外部データ型は、ローダでアプリケーションデータのエクスポート時に内部データベースデータ型から変換されるデータ型、またはデータのインポート時に内部データベースデータ型から変換されるデータ型です。
エクスポートまたはインポート用のコマンドで、構文要素 field_type を使用して、エクスポートまたはインポートするフィールド値ごとに外部データ型を指定することができます。
データ型の指定により、ローダにデータストリーム内のデータの解釈方法が認識されます。
● アプリケーションデータがテーブルからエクスポートされるとき、内部データベースデータ型が、指定した外部データ型に変換され、対応する列値がエクスポートされます。
● アプリケーションデータがテーブルにインポートされるとき、指定した外部データ型が内部データベースデータ型に変換され、テーブルの対応する列値がインポートされます。
外部データ型と、対象テーブル内の列値の対応する内部データベースデータ型は、同じである必要はありません。
参照:
<field_type> ::= /* empty */ | CHAR | DECIMAL
[(<unsigned_integer>)]
| INTEGER | REAL | ZONED [(<unsigned_integer>)]
/* empty */ |
データ項目は、データ型 CHAR として読込または出力されます。データベース内の内部データベース列書式はいずれも、CHAR 書式で読み込んだり出力したりできます。 |
CHAR |
ASCII、UCS2、または UTF8 コード (コンピュータによって異なります)。最大 254 バイト。 |
DECIMAL |
パック 10 進数形式: ハーフバイトあたり 1 桁、一番右のハーフバイトに符号、1 〜 10 バイト長、最大 18 桁、小数点の位置はテーブル列型から導出されます。 |
DECIMAL(<unsigned_integer>) |
unsigned_integer: 小数点の右側の桁数。 |
INTEGER |
バイナリコード (コンピュータ固有)、1、2、または 4 バイト長、ビット 0 に符号、2 の補数表現に負の値。 |
REAL |
仮数部および指数部を持つ浮動小数点表記、4 バイトまたは 8 バイト長、コンピュータ固有の表記。 |
ZONED |
ゾーン 10 進数形式: /370 ゾーンデータ書式が許可されます。小数点の位置は、テーブル列型から導出されます。 |
ZONED(<unsigned_integer>) |
unsigned_integer: 小数点の右側の桁数。 |

IMPORT TABLE hotel.reservation
DATA INSTREAM 'reservation_fwv.data' FWV BINARY
rno 01-04 INTEGER
cno 05-08 INTEGER
hno 09-12 INTEGER
type 13-18 CHAR
arrival 19-28 CHAR
departure 29-38 CHAR
列RNO、CNO、および HNO 内の値に対して、データベーステーブル RESERVATION に内部データベースデータ型 FIXED が必要です。
IMPORT TABLE コマンドによって、これらの列に対して外部データ型 INTEGER が定義されます。列 RNO、CNO、および HNO 内のデータは、インポートされるときに内部データベースデータ型 FIXED に変換されます。

IMPORT
TABLE room
DATA INSTREAM
'room_fwv_binary.data' FWV BINARY
hno 01-05
type 06-11
free 12-19 INTEGER HEX
price 20-27 INTEGER HEX
IMPORT TABLE コマンドによって、外部データ型として 16 進数値 FREE および PRICE が定義されます。このためには、追加の HEX 指定を使用します。
項目値に外部データ型が指定されていない場合、ローダによって、CHAR データ型がこの項目値のデフォルトとして選択されます。したがって、項目値がデータ型 CHAR を持たない場合、またはデータ型 CHAR が望ましくない場合は、データ型を指定する必要があります。
数値の外部データ型(INTEGER、REAL、DECIMAL、ZONED) はすべて、バイナリ値として解釈されます。これらは、データベースで使用される内部データ型 (FIXED、SMALLINT、INTEGER、FLOAT) のいずれにも変換することができます。
● ローダは、データ型INTEGER のデータを常に符号付の値として解釈します。データストリーム内のこのデータの表示方法は、構文要素 int_spec を使用して調整することができます。
● データ型REAL のデータはコンピュータ固有の書式でコーディングされ、再度変換しない限り、異なるオペレーティングシステムおよびコンピュータプラットフォームの間で移送することはできません。
外部データ型CHAR を持つ項目値はプレーンテキスト値です。つまり、これらの値は可読文字で構成されています。
● プレーンテキスト値は、ASCII、UCS2、または UTF8 指定に準拠します (コード指定)。
● 日付、時刻、またはタイムスタンプを表すプレーンテキスト値のデータ書式を指定することができます(日付、時刻、およびタイムスタンプ指定)。
これらのデータ書式は、インポートコマンドおよびエクスポートコマンドで、データストリームの処理指定として指定することができます。
プレーンテキスト値は、データベースで使用される内部データ型の列の入力として使用することができ、それらに変換することができます。プレーンテキスト値を数値列にインポートする場合、値が数字として解釈可能である必要があります。
外部データ型は、追加指定HEX を持つ16 進値として使用することができます(追加情報については、列説明、出力列 を参照)。
これにより、すべてのデータ型を 16 進形式でインポートまたはエクスポートすることができます。結果のデータの各バイトは、2 つの 16 進数で表されます。この場合、データストリーム内の各値は、HEX 値として指定されていない同じデータ型の値の 2 倍の領域を占有します。
ローダは、必要に応じて数値データ型を変換することができます。外部データ型 CHAR を使用すると、あらゆる内部データベースデータ型を読み込んだり、出力したりすることができます。
●
データがテーブルからエクスポートされるとき、内部データベースデータ型が、指定した外部データ型に変換され、対応する列値がエクスポートされます。
データベース内部データ型
INT[EGER]、FIXED、および SMALLINT
は、外部データ型
DECIMAL、INTEGER、REAL、または ZONED
に移送することができます。
データベース内部データ型 FLOAT は、外部データ型 CHAR(ACTER)
または REAL に転送することができます。
●
データがテーブルにインポートされるとき、指定した外部データ型が内部データベースデータ型に変換され、テーブルの対応する列値がインポートされます。
外部データ型
DECIMAL、INTEGER、REAL、および ZONED
は、データベース内部データ型
INTEGER、FIXED、FLOAT、または SMALLINT
に転送することができます。
参照: