ストリングの中では、すべての文字が共通のコーディング表現によって表されます。 場合によっては、このような文字を別のコーディング表現に変換しなければならないことがあります。 この変換プロセスは文字変換 と呼ばれます。 12
文字変換は、SQL ステートメントがリモートで実行される場合に発生する可能性があります。 たとえば、次の 2 つの場合を考えてみます。
どちらの場合も、送信側システムと受信側システムとでストリングの表現が違う可能性があります。 また、同じシステムでのストリング操作でも変換が発生することがあります。
以下のリストは、文字変換の説明でよく使用される用語の定義です。
たとえば、いくつかのコード・ページには次の文字セットが出現します。
たとえば、コード・ページ 850 の ASCII コード化スキーマでは、 'A' にはコード・ポイント X'41' が割り当てられ、 'B' にはコード・ポイント X'42' が割り当てられています。 1 つのコード・ページの中では、 それぞれのコード・ポイントはただ 1 つの特定の意味をもちます。 コード・ページはデータベースの 1 つの属性です。 アプリケーション・プログラムがデータベースに接続している場合、 データベース・マネージャーがそのアプリケーションのコード・ページを判別します。
以下の例は、典型的な文字セットが、 2 つの異なるコード・ページの異なるコード・ポイントにどのようにマップされるかを示しています。
コード化スキーマが同じでも多くの異なるコード・ページがあり、 同じコード・ポイントであってもコード・ページが違うなら違う文字を表す場合があります。 さらに、文字ストリングの中の 1 バイトは、 1 バイト文字セット (SBCS) の文字を表すとは限りません。 文字ストリングは、混合およびビット・データにも使用されます。 混合データ は、1 バイト文字、2 バイト文字、 または多重バイト文字の混合です。 ビット・データ (FOR BIT DATA か BLOB、 または 2 進ストリングとして定義されている列) は、どの文字セットにも関連していません。
データベース・マネージャーは、アプリケーションがデータベースにバインドされるときに、 すべての文字ストリングのコード・ページ属性を判別します。 潜在的なコード・ページ属性には、以下のものがあります。
文字ストリング・コード・ページ属性は次のとおりです。
スカラー操作、連結、または集合演算の結果のように、 ストリング・オブジェクトを結合する操作のコード・ページ属性は、 一連の規則を使用して判別されます。 実行時には、コード・ページ属性を使用して、 ストリングのコード・ページ変換の要件が判別されます。
文字変換の詳細は、以下を参照してください。