16.20 - Teradata SQL文字列およびクライアント物理バイト - Teradata Vantage NewSQL Engine

Teradata Vantage™ データ タイプおよびリテラル

prodname
Teradata Database
Teradata Vantage NewSQL Engine
vrm_release
16.20
category
プログラミング リファレンス
featnum
B035-1143-162K-JPN

サーバー文字セットのLATIN、UNICODE、およびGRAPHICは、Teradata SQLの中で文字列として宣言されます。

クライアント環境では、これらのcharacter data typesは、文字ではなく物理バイトの文字列として指定されていると期待されます。

例えば、クライアント アプリケーション プログラムでは、スペースは、バイト単位で割り当てられ、データ ロード ユーティリティ用のインポート ファイルのレイアウトは、バイト単位で表わされます。

宛先列が文字と宣言されていても、クライアントが文字列をバイト数で指定すれば、SQL宣言の文字とクライアント環境の物理バイトの妥当な橋渡しとなります。

文字表現(HELP COLUMN文や応答パーセルなどの中)の長さがクライアントに通知される場合、常にTeradata Databaseは物理バイト数で長さを指定します。

サーバー文字セット宣言の一般的なルール

データ型を宣言するためのルールは、次のとおりです。
  • 文字型の長さは、サーバー文字セットに応じて、バイト数または文字数で宣言します。
    文字タイプが使用するサーバー文字セット タイプの定義単位
    • LATIN
    • UNICODE
    • GRAPHIC
    文字
    • KANJI1
    • KANJISJIS
    バイト
  • USING句で記述されるインポート後のCHARACTERデータの長さは、バイト単位になります(USING句内のCHARACTERデータの記述はバイト単位です)。詳細は、<Teradata Vantage™ SQLデータ操作言語、B035-1146>の「USINGリクエスト修飾子」を参照してください。
  • 次の応答およびリクエスト パーセルのリストのCHARACTERデータの定義は、バイト数で表わされます。
  • クライアントのロード(Teradata FastLoadとTeradata MultiLoad)およびエクスポート(Teradata FastExport)ユーティリティは、クライアントのファイルのレイアウトを指定するためにマルチロードおよびファーストエクスポートのDEFINEまたはLAYOUTコマンドを使用します。

    DEFINEコマンド内のCHARACTERデータのレイアウトは、バイト数で表わされます。

    DEFINEコマンド内のGRAPHICデータのレイアウトは、文字で表わされます。次にレイアウトは、Teradata SQLとの通信のために、応答パーセルまたはUSING句に変換されます。詳細は、<Teradata Vantage™ SQLデータ操作言語、B035-1146>の「USINGリクエスト修飾子」を参照してください。

エクスポートされた文字データ

エクスポート幅によって、クライアント アプリケーションでエクスポートする文字またはバイトの適切な数が決定されます。システム規模およびユーザー定義のエクスポート幅テーブルによって、クライアントへのエクスポート中の、文字またはバイトのエクスポート幅が定義されます。エクスポート幅として使用される値は、アクティブなエクスポート幅テーブル、およびアプリケーションで使用されるサーバー文字セットとクライアント文字セットに基づいています。

システム レベルでは、DBS 制御レコードの Export Width ID フィールドの値が、エクスポート幅を決定するためにどのエクスポート幅テーブルを使用するかを特定します。

以下のテーブルは、Teradataにより提供される、システムのエクスポート幅テーブルを示しています。

エクスポート幅テーブルの名前 エクスポートID 説明
Expected Default (期待デフォルト) 0 文字データ型とクライアント使用形式に対して妥当なデフォルトの幅を提供します。

これがデフォルトの初期テーブルです。

Compatibility Default (互換性デフォルト) 1 LatinまたはKANJI1のデータを処理するように記述されたアプリケーションで、Unicodeデータを処理できるようになります。
Maximum Default(最大値デフォルト) 2 文字データ型とクライアント使用形式に対して最大のデフォルト幅を提供します。

DBS制御ユーティリティを使用してシステム レベルのエクスポート幅を設定する方法の詳細について、<Teradata Vantage™ - データベース ユーティリティ、B035-1102>を参照してください。

CREATE USER文またはMODIFY USER文でEXPORTWIDTHオプションを使用して、システム レベルのエクスポート幅を上書きできます。詳細は、以下を参照してください。
  • <Teradata Vantage™ SQLデータ定義言語-構文規則および例、B035-1144>の「CREATE USER」と「MODIFY USER」
  • <Teradata Vantage™ NewSQL Engine国際文字セット サポート、B035-1125>の「エクスポート幅の作業」
  • <Teradata Vantage™ SQL関数、式、および述部、B035-1145>の「エクスポート幅プロシージャ」

HELP文

エクスポート幅ルールによって、HELP TABLE文とHELP COLUMN文の結果が決まります。