17.10 - 使用上の注意 - Advanced SQL Engine - Teradata Database

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

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

ストレージ

文字データは、使用されているサーバー文字セットに応じて文字またはバイト単位で割り当てられます。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の外部表記に相当する表記
  • LATIN
  • KANJI1
VARCHAR(64000)
  • UNICODE
  • GRAPHIC
  • KANJISJIS
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と定義するのが最善策です。