ストレージ
文字データは、使用されているサーバー文字セットに応じて文字またはバイト単位で割り当てられます。1文字当たりの格納バイト数は、次の表に示すように、サーバー文字セットによって異なります。
サーバー文字セット | サーバー使用形式 | サーバーのスペース割り当て | 異種クライアント間で共用可能か? |
---|---|---|---|
LATIN | 固定8ビットのLATIN | Character-based | Yes(はい) |
UNICODE | 固定16ビットのUNICODE | ||
GRAPHIC | 固定16ビットのUNICODE | ||
KANJISJIS | 1バイトとマルチバイトが混在するKANJISJIS | Byte-based | Yes(はい) |
クライアントのシステム データ型との変換は、Vantageによって行なわれます。このデータ型は、国際文字セットをサポートします。
VARCHARの外部表現
クライアント アプリケーションは、Vantageと対話するときに、常にその文字セット(文字データ用の使用形式)を指示します。サーバーは、すべての文字データをその形式でクライアント アプリケーションに返します。
VARCHARタイプの場合にエクスポートされるバイト数の詳細は、Teradata SQL文字列およびクライアント物理バイトを参照してください。
LONG VARCHARの外部表現
LONG VARCHARタイプの場合にエクスポートされるバイト数の詳細については、Teradata SQL文字列およびクライアント物理バイトを参照してください。
次の表は、各種のサーバー文字セットの場合にLONG VARCHARデータがどのように表現されるかを示しています。これらの定義以外では、LONG VARCHAR文字列の動作はVARCHAR文字列と同じです。
サーバー文字セット | LONG VARCHARの外部表記に相当する表記 |
---|---|
|
VARCHAR(64000) |
|
VARCHAR(32000) |
VARGRAPHICの外部表現
次の表では、IBM DB2 VARGRAPHICタイプのクライアント表現をリストしています。
アプリケーション定義とクライアント データ型を判別するのは、アプリケーション プログラマの責任です。
VARGRAPHIC(n)文字列の長さをkと定義します。ここで、0 ≤ k ≤ nです。
クライアントCPUアーキテクチャ | クライアントの内部データ形式 |
---|---|
IBMメインフレーム | 2バイトのSMALLINT(kの長さカウント)、続いてk個のDB2 GRAPHIC文字。合計は2+2k EBCDICバイトになる。 |
表示形式
VARCHAR(n)のデフォルトの表示形式は、X(n)です。
LONG VARCHARのデフォルトの表示形式は、有効なサーバー文字セットに応じてX(32000)またはX(64000)になります。
詳細については、<データ型のデフォルトの形式>を参照してください。
GRAPHICデータ
VARGRAPHICまたはLONG VARGRAPHIC を使って、マルチバイトの文字データを表わすことができます。
VARGRAPHIC(n)は、VARCHAR(n) CHARACTER SET GRAPHICと等価です。すべてのVARGRAPHIC(n)データをVARCHAR(n) CHARACTER SET GRAPHICと定義するのが最善策です。
VARCHAR(n) CHARACTER SET GRAPHIC定義のnの最大値は32000です。デフォルト長はありません。長さを指定しない場合、エラーになります。
LONG VARGRAPHICは、LONG VARCHAR CHARACTER SET GRAPHICと等価です。すべてのLONG VARGRAPHICデータをLONG VARCHAR CHARACTER SET GRAPHICと定義するのが最善策です。