16.20 - XML値エンコーディングとエンコーディング宣言 - Teradata Database - Teradata Vantage NewSQL Engine

Teradata Vantage™ XMLデータ型

Product
Teradata Database
Teradata Vantage NewSQL Engine
Release Number
16.20
Release Date
2019年3月
Content Type
プログラミング リファレンス
Publication ID
B035-1140-162K-JPN
Language
日本語 (日本)

XML値の戻りデータ型ごとに、エンコーディングとエンコーディング宣言がどうなるかを、以下のテーブルに示します。

XML値の戻り型 エンコーディング エンコーディング宣言
XML型(レコード モード/標識モード) UTF-8
  • 文書全体を取得する場合、かつオリジナルのエンコーディング宣言が含まれていた場合、エンコーディング宣言は保持されます。
  • オリジナルのエンコーディング宣言がなかった場合、何も追加されません(標準規格では、エンコーディング宣言がない場合、パーサーはUTF-8と解釈します)。
CLOBまたはVARCHAR(フィールド モードの場合、またはターゲット型にCLOBまたはVARCHARを指定してXMLSERIALIZEが呼び出された場合) 取得する文書のエンコーディングは、使用されているセッション文字セットに一致したものになります。
  • 文書全体を取得する場合、かつオリジナルのエンコーディング宣言が含まれていた場合、エンコーディング宣言は保持されます。
  • オリジナルのエンコーディング宣言がなかった場合、何も追加されません。
BLOBまたはVARBYTE(ターゲット型にBLOBまたはVARBYTEを指定してXMLSERIALIZEが呼び出された場合) XML値のエンコーディングは、XMLSERIALIZE関数呼び出しのENCODING句でユーザーが指定したものになります。エンコーディングが指定されていない場合、UTF-8になります。 エンコーディング宣言は、ENCODING句でユーザーが指定したもの(または指定なし)になります。

XML値がXML、CLOB、またはVARCHAR値として返される場合、XML値の実際のエンコーディングとそのエンコーディング宣言との間に不一致が発生する可能性があります。使用されているセッション文字セットが分かっている場合などには、外部的に得られる知識に基づいて、パーサーで提供されているAPIにより、パーサーに対してXML文書のエンコーディング宣言を上書きするように指示することができます。