SESSION CHARSET - Basic Teradata Query

Basic Teradata® Queryリファレンス

Product
Basic Teradata Query
Release Number
17.10
Published
2022年2月
Language
日本語
Last Update
2022-02-11
dita:mapPath
ja-JP/nnw1608578382132.ditamap
dita:ditavalPath
ja-JP/obe1474387269547.ditaval
dita:id
B035-2414
Product Category
Teradata Tools and Utilities

目的

この制御によって、ユーザーは、既存および後続のデータベース セッションの文字セットの名前を指定できます。

構文



次のような場合に当てはまります。

charstring
文字セットの名前。 数値コードではなく、名前の使用を推奨します。

この名前は、30文字を超えてはなりません。

code
文字セットを表わす数値コード。

コード範囲:0~255

使用上の注意

名前または数値コードのいずれかで、文字セットを選択することができます。 名前で選択する場合の値は、DBC.CharTranslationsビューのCharSetName列に存在していなければなりません。 数値コードで選択する場合の値は、DBC.CharTranslationsビューのCharSetId列に存在していなければなりません。 後続のSQLリクエストが送信された場合に、指定した文字セットの名前またはコードの有効性がデータベースによって判別されます。

データベース照合のデフォルトは、メインフレーム接続システムではEBCDIC、ワークステーション接続システムではASCIIです。

システム テーブル ビューの詳細については、Teradata Vantage™ - Advanced SQL Engine国際文字セット サポート, B035-1125を参照してください。

何らかのコマンドや文を処理する前に、-c-e、および-mコマンド ライン オプションを使用して、ワークステーション接続システムのセッション文字セットとI/Oエンコーディングを設定することもできます。対話型Unicodeセッションには、-cオプションと共に-mオプションを使用することを推奨します。これにより、stdio、RUNファイル、MESSAGEOUTファイルに影響を与えるロケール固有の文字の受け入れと表示ができるようになります。SESSION CHARSET設定は、UTF8またはUTF16のままとなり、インポート/エクスポート ファイル、SQL(内部)ストアド プロシージャ ファイル、データベースとの間の通信に使用されます。

以下は、コマンド ライン オプションの使用例です。

コマンド ライン オプション 説明
bteq 対話モード。文字セットとI/OエンコードはデフォルトでASCIIに設定される
bteq -c ASCII < script ASCIIスクリプトを使用するバッチ モード。文字セットとI/OエンコードはASCIIになる
bteq -c KANJISJIS_0S 対話モード。文字セットとI/OエンコードはKanjiShift-JISになる
bteq -c UTF8 < script UTF-8スクリプトを使用するバッチ モード。文字セットとI/OエンコードはUTF8になる
bteq -c UTF16 < script UTF-16スクリプトを使用するバッチ モード。文字セットとI/OエンコードはUTF16になる
bteq -e UTF8 -c UTF16 < script UTF-8スクリプトを使用するバッチ モード。文字セットはUTF16、I/OエンコードはUTF8になる
bteq -e 62 -c 63 < script UTF-16スクリプトを使用するバッチ モード。文字セットはUTF8、I/OエンコードはUTF16になる
bteq -c UTF16 -m 対話モード。文字セットはUTF16になり、I/Oエンコードはロケールに基づいて設定される
bteq -c UTF8 -m 対話モード。文字セットはUTF8になり、I/Oエンコードはロケールに基づいて設定される

メインフレーム接続システムでは、コマンド ライン オプションは使用できません。 HSHSPB内の"charset_id"が定義されていない場合には、BTEQはデフォルトでセッション文字セットとI/OエンコードをEBCDICに設定します。

コマンド ライン オプションの詳細については、コマンド ライン オプションを参照してください。

ワークステーション接続システムでは、これらのコマンド ライン オプションとclispb.datファイル内の"charset_id"が使用されていない場合、BTEQはデフォルトでセッション文字セットとI/OエンコードをASCIIに設定します。

BTEQWINでは、SESSION CHARSETコマンドの用途は限られています。 BTEQWINはセッション文字セットASCII、UTF8、UTF16、およびKANJISJIS_0Sのみサポートします。 BTEQWINは他の文字セットをサポートしません。Unicode文字セットでほとんどの言語の文字を表示できるためです。

  • メインフレーム接続システムの場合、文字列セットに「コード」は使用すべきではありません。 メインフレームCLIは一定の文字セットのコードを受け入れられますが、このサポートは中止されていて、Unicode文字セットには機能しません。 代わりに、HSHPBエントリとSET SESSION CHARSETコマンドには名前を使います。
  • HELP SESSIONコマンドを使用すると、データベース ユーザー セッションの現在の詳しい内容と文字セットを表示できます。実際に応答として返される列は、使用しているSQL Engineバージョンによって異なります。読みやすい形式にするには、HELP SESSIONコマンドを指定する前に、FOLDLINEコマンドとSIDETITLESコマンドを使用します。
  • 以下に定義されているように、ワークステーション接続システムでUTF-16セッションが行なわれている場合には、常に制限があります。
    条件 結果
    既存のセッション文字セットとI/OエンコードがいずれもUTF16であるか、または-mオプションが使用されている SESSION CHARSETコマンドは使用できない。
    既存のセッション文字セットがUTF16で、I/OエンコードがUTF8である 新しいセッション文字セットがUTF8に制限される。
    既存のセッション文字セットがUTF8で、I/OエンコードがUTF16である 新しいセッション文字セットがUTF16に制限される。
    既存のセッション文字セットとI/OエンコードがいずれもUTF8である 新しいセッション文字セットにUTF16は使用できない。
    既存のセッション文字セットが非Unicodeである 新しいセッション文字セットにUTF16は使用できない。
  • stdoutから非ラテン文字をすべて正しく生成することが重要である場合は、文字セットを切り替えないでください。 SESSION CHARSETコマンドを使用して文字セットを切り替えると、データベースから返される結果によっては、互換性のない様々な文字が混ざってしまうことがあります。

エクスポート ファイルが開いているとき、またはMESSAGEOUTコマンドで開いているファイルに標準出力を書き込んでいるとき、非ASCII文字セットに切り替えることはしません。 詳細は、MESSAGEOUTを参照してください。

例1 – SESSION CHARSET

セッション中に文字セットをドイツ語に変更するには、次のように入力します。

.SET SESSION CHARSET 'GermanASCII'

例2 – SESSION CHARSET

デフォルトの文字セットに戻すためには、次のように入れます。

.SET SESSION CHARSET

例3 – SESSION CHARSET

セッションに対して確立されている文字セットを確認するには、以下を入力します。

.foldline on all
.sidetitles on
help session;

BTEQの応答

*** Help information returned. One row.
*** Total elapsed time was 1 second.
               User Name DBC
            Account Name DBC
              Logon Date 05/11/14
              Logon Time 10:21:40
        Current DataBase DBC
               Collation ASCII
           Character Set ASCII
   Transaction Semantics Teradata
        Current DateForm IntegerDate
       Session Time Zone  00:00
  Default Character Type LATIN
            Export Latin 1
          Export Unicode 1
   Export Unicode Adjust 0
        Export KanjiSJIS 1
          Export Graphic 0
     Default Date Format YY/MM/DD
         Radix Separator .
         Group Separator ,
           Grouping Rule 3
Currency Radix Separator .
Currency Group Separator ,
  Currency Grouping Rule 3
           Currency Name US Dollars
                Currency $
             ISOCurrency USD
      Dual Currency Name US Dollars
           Dual Currency $
        Dual ISOCurrency USD
  Default ByteInt format -(3)9
  Default Integer format -(10)9
 Default SmallInt format -(5)9
  Default Numeric format --(I).9(F)
     Default Real format -9.99999999999999E-999
     Default Time format HH:MI:SS.S(F)Z
Default Timestamp format YYYY-MM-DDBHH:MI:SS.S(F)Z
            Current Role
           Logon Account DBC
                 Profile
                    LDAP N
          Audit Trail Id DBC
 Current Isolation Level SR