データ変換 - Parallel Transporter

Teradata Parallel Transporterリファレンス

Product
Parallel Transporter
Release Number
16.20
Published
2018年4月
Language
日本語
Last Update
2018-09-07
dita:mapPath
ja-JP/sje1512702724707.ditamap
dita:ditavalPath
ja-JP/sje1512702724707.ditaval
dita:id
B035-2436
Product Category
Teradata Tools and Utilities

データを変換するTeradata PTの機能は、データ型をNULL値に割り当てること、またはデータをNULL値から変更することに限定されます。次はその例です。

   CAST (NULL AS INTEGER)

CAST句を使用すると、テーブルにデータをロードする前に代替のデータ型に変換できます。 次のAPPLY文はこのオプションを示しています。

APPLY
('INSERT INTO CUSTOMER (:CUST_NUM, :LAST_NAME, :FIRST_NAME, :SOC_SEC_NO);')
TO OPERATOR (LOAD_OPERATOR [1] )

SELECT * FROM OPERATOR
(EXPORT_OPERATOR [1]...

ここで、SELECT *を使用することは、Exportオペレータからそのままデータが受け取られることを意味します。ただし、データを変換することもできます。

別のテーブルでデータが必要な場合は、次のAPPLY文を作成します。

APPLY
('INSERT INTO CUSTOMER (:CUST_NUM, :LAST_NAME, :FIRST_NAME, :SOC_SEC_NO);')
TO OPERATOR (LOAD_OPERATOR [1] )
SELECT
      CAST (NULL AS CHAR(10)) AS CUST_NUM,
      LAST_NAME,
      FIRST_NAME,
      CASE
          WHEN (SOC_SEC_NO <> '000000000')
          THEN SOC_SEC_NO
          ELSE NULL
    END AS SOC_SEC_NO,
FROM OPERATOR
(EXPORT_OPERATOR [1]...

次のことに注意してください。

  • この例では、ソース データのスキーマはターゲット テーブルのスキーマと同じでないと想定しています。
  • 最初のフィールドは、NULL値の派生列です。
  • ソースのソーシャル セキュリティ番号がすべてゼロ文字の文字列の場合は、ターゲットのソーシャル セキュリティ番号にはNULL値が割り当てられます。
  • このCASE式の使用法は、FastLoadユーティリティのNULLIF関数と同等です。
  • CASE式が提供するこの機能は、APPLY文で式が許可されるため、すべてのTeradata PTオペレータで利用できます。