文字データのインポート処理 - Advanced SQL Engine - Teradata Database

Teradata Vantage™ - SQLデータ操作言語

Product
Advanced SQL Engine
Teradata Database
Release Number
17.10
Published
2021年7月
Language
日本語
Last Update
2021-09-23
dita:mapPath
ja-JP/vjt1596846980081.ditamap
dita:ditavalPath
ja-JP/wrg1590696035526.ditaval
dita:id
B035-1146
Product Category
Software
Teradata Vantage

次のテーブル定義があるとします。

     CREATE TABLE table_1 (
       cunicode  CHARACTER(10) CHARACTER SET  UNICODE,
       clatin    CHARACTER(10) CHARACTER SET LATIN,
       csjis     CHARACTER(10) CHARACTER SET KANJISJIS,
       cgraphic  CHARACTER(10) CHARACTER SET GRAPHIC,
       cgraphic2 CHARACTER(10) CHARACTER SET GRAPHIC);

セッション文字集合がKanjiShift-JISの場合に、次のリクエストを実行依頼したとします。

     USING
      cunicode  (CHARACTER(10)),
      clatin    (CHARACTER(10)),
      csjis     (CHARACTER(10)),
      cgraphic  (GRAPHIC(10)),
      cgraphic2 (CHARACTER(10) CHARACTER SET GRAPHIC))
     INSERT INTO table_1(:cunicode, :clatin, :csjis, :cgraphic,
                         :cgraphic2);
USINGリクエスト修飾子は、データ パーセルに以下が含まれていることを示しています。
  • Unicode列の10 KanjiShift-JISバイト
  • Latin列に10バイト
  • KanjiSJIS列に10バイト
  • 1番目のGRAPHIC列に20バイト
  • 2番目のGRAPHIC列に20バイト

データのパーセル内の個々のフィールドは、client form-of-useから、サーバーの使用形式に変換されます。変換後に、最初の3つのフィールドはユニコード リテラルとして扱われ、最後の2つのフィールドはGRAPHICリテラルとして扱われます(<Teradata Vantage™ - データ タイプおよびリテラル、B035-1143>を参照)。

次に、列データが<Teradata Vantage™ - データ タイプおよびリテラル、B035-1143>でリストされているルールに従って、暗黙の変換を使用するターゲット フィールドに変換されます。

変換の処理は、以下のテーブルで説明します。

ステップ プロセス
  サーバーの使用形式に変換されるバイト数 扱われるリテラル 変換後の文字データ型 格納先の列
1 最初の10 (1 - 10) UNICODE なし cunicode
2 次の10 (11 -20) UNICODE LATIN clatin
3 次の10 (21 -30) UNICODE KANJISJIS csjis
4 次の20 (31 -50) GRAPHIC GRAPHIC cgraphic
5 最後の20 (51 - 70) GRAPHIC GRAPHIC cgraphic2

USING句の意味は、セッションの文字設定とは独立していることに注意してください。