17.10 - データ変換 - Parallel Transporter

Teradata® Parallel Transporter リファレンス

Product
Parallel Transporter
Release Number
17.10
Published
2022年2月
Content Type
プログラミング リファレンス
Publication ID
B035-2436-061K-JPN
Language
日本語 (日本)
Last Update
2022-02-11

データを変換する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オペレータで利用できます。