17.10 - 日本語文字サイトでのdata_typeの考慮事項 - Advanced SQL Engine - Teradata Database

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

Product
Advanced SQL Engine
Teradata Database
Release Number
17.10
Release Date
2021年7月
Content Type
プログラミング リファレンス
Publication ID
B035-1146-171K-JPN
Language
日本語 (日本)

クライアントが使用する形式でデータ内に送られてくる情報については、日本語文字データのパーセルに十分注意してください。以下のような、問題のからんだ例を考察してみます。

     USING (emp_name   CHARACTER(40) UPPERCASE,
            emp_number INTEGER)
     INSERT INTO employee (:emp_name, :emp_number);

データのパーセルには、40バイトのemp_name用のCHARACTERデータと、4バイトのemp_number用のINTEGERデータが入ることがこのリクエストで指定されます。

data_typeはデータ パーセルの配置をクライアントが使用する形式で記述するため、この例では、CHARACTER(40)とは、CHARACTER情報は40バイトではなく40文字であることを示します。

ASCIIやEBCDICなど、1バイトの文字の外部データ設定には、バイト数および文字数は、同一のバイト数を表示します。

1バイト文字とマルチバイト文字が混合した設定(KanjiEUCなど)、または2バイト文字のみの場合には、バイト数と文字数は一致しません

GRAPHICおよびVARGRAPHICデータ型は、常にバイト数の半分の文字数であることに注意してください。

GRAPHICのみの複数バイトの文字の入ったKanjiEBCDICなどの漢字文字設定では、文字数とバイト数の単位は一致します。

data_typeに[VAR]CHAR(n) CHARACTER SET GRAPHIC属性を指定することによって、GRAPHIC USINGデータを指定できます。このことは、data_typeを[VAR]GRAPHIC(n)として指定することと同一です。

データが外部使用形式ではなく、クライアントの使用形式であるため、CHARACTERデータを説明するためのCHARACTER SET構文規則に等価拡張はありません。