データ変換の要素 - FastLoad

Teradata® FastLoad リファレンス

Product
FastLoad
Release Number
17.10
Published
2021年6月
Language
日本語
Last Update
2021-09-23
dita:mapPath
ja-JP/ruk1608578422758.ditamap
dita:ditavalPath
ja-JP/ruk1608578422758.ditaval
dita:id
B035-2411
Product Category
Teradata Tools and Utilities
Teradata FastLoadを使用してデータ変換を実行する場合には、以下の点に注意します。
  • DEFINEコマンドを使用してソース データのデータ型指定を変更してからそれをデータベースのTeradata FastLoad表に挿入する場合、各列ごとに1つの型変換のみを定義できます。
    Teradata FastLoad を使って算術式を伴なう列を定義することはできません。例えば、Teradata FastLoadは年間給与データから月間給与列を計算することはできません。
  • Teradata FastLoadを使用してデータをロードし、10進数から文字に変換する場合、符号バイトに対応するために、データを挿入する列の長さをソース データのサイズより大きく定義します。さもなければ、以下のエラー メッセージが表示されます。

    3944: Data length is invalid for the data type

データ型とデータ変換の詳細については、Teradata Vantage™ - データ型およびリテラル, B035-1143を参照してください。

有効なデータ変換の例

次の有効な例では、列bをINTEGER型とみなして、文字データを整数データに変換します。

DEFINE a (char(10)) file= . . . ;
INSERT INTO table1 (b) VALUES (:a(integer)) ;

有効な冗長変換の例

次の有効な例では、列dをDECIMAL(9,2)型とみなして、ゾーン10進数形式のデータを10進数形式の型に変換します。

DEFINE b (char(9)) file= . . . ;
INSERT INTO Table1 (d) VALUES (:b (decimal(9,2)));
冗長変換は、データ変換が行なわれることを示すために使用できます。

無効なデータ変換の例

次のデータ変換の例は、2つの変換、文字から10進数、次いで10進数から整数への変換が要求されているため、無効です。

DEFINE a(char(10)) file= . . . ;
INSERT INTO table1 (b) VALUES (:a (decimal(5,2))) ;

Decimal(5,0)データをロードする場合、送信先文字列の長さは、Char(5)ではなくChar(6)と定義する必要があります。以下のデータ変換例は無効です。これは、列サイズが、データをすべて保持できるほど大きくないからです。

DEFINE a(decimal(5,0)) file = .;
INSERT INTO table (b) VALUES (: a(char(5));