16.20 - 16進文字リテラル - Teradata Vantage NewSQL Engine

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

prodname
Teradata Database
Teradata Vantage NewSQL Engine
vrm_release
16.20
category
プログラミング リファレンス
featnum
B035-1143-162K-JPN

目的

16進数文字リテラル値を宣言します。

構文



_character_set
16進数リテラルを表わす文字が、この(任意指定の)文字セットのレパートリーのものであることを指定します。デフォルトは、ユーザーのデフォルト文字セットです。サポートされている文字セットは次のとおりです。
  • _Latinは、LATIN文字セットを示します。
  • _Unicodeは、UNICODE文字セットを示します。
  • _Graphicは、GRAPHIC文字セットを示します。
  • _KanjiSJISは、KANJISJIS文字セットを示します。
Teradata DatabaseはUnicode区切り文字リテラルに移行中で、KANJI1(_Kanji1)形式の16進数文字リテラルをサポートしなくなりました。この使用を廃止して、代わりにUnicode区切り文字リテラルを使用する必要があります。
hexadecimal digits
16進数字の列(16進数字は0~9、a~f、またはA~Fの文字)。
V
16進数リテラルが可変長文字形式です。VまたはFが指定されていない場合、これがデフォルトです。
F
16進数リテラルが固定長文字形式です。

ANSI準拠

16進数文字リテラルは、ANSI SQL:2011規格に対するTeradata拡張機能です。

定義

16進数リテラルは、0~31000個の16進数字の列の先頭と末尾を単一引用符で囲んだものです(16進数字は0~9、a~fまたはA~Fの文字)。

データ型

XCの後に指定する修飾子によって、16進数リテラルのデータ型が指定されます。

16進数リテラルの形式 データ型
'hexadecimal digits'XC

'hexadecimal digits'XCV

VARCHAR
'hexadecimal digits'XCF CHAR

使用上の注意

16進数文字リテラルは、通常は端末のキーボードから直接入力できないTAB (タブ)やBACKSPACE (後退)などの文字列を挿入するのに役立ちます。

16進数リテラルには次が適用されます。
  • 16進数文字リテラルは、偶数個の16進数字によって表記されます。数字の数が奇数の場合、16進数リテラルの右側に0が付加されます。例えば、次のようになります。
    _Latin 'C1C'XC = 'C1C0'XC
  • その他の文字リテラルの場合、16進数文字リテラルはUNICODE内部形式として解釈されます。ただし、文字セットがKANJI1の場合の16進数リテラルは、やはりKANJI1内部形式です。
  • 16進数の文字列が明示的に、またはデフォルトの文字セットであったがために_Unicodeとして解釈されるとき、データの形式はUTF-16として解釈されます。したがって、_Unicode ‘D800DC00’XCのような正しいペアのサロゲートは補足のコード ポイントとして処理され、Unicode Pass Throughが有効なセッションで使用することができます。Unicode Pass Throughの詳細については、<Teradata Vantage™ NewSQL Engine国際文字セット サポート、B035-1125>を参照してください。
  • 複数の連続した文字リテラル(文字リテラル、16進数文字リテラル、およびUnicode区切り文字リテラル)は、文字列を連結したものとして扱われます。

例: 16進文字リテラル

ユーザーのデフォルト文字セットがLatinであると仮定します。端末のキーボードに中括弧文字{}が含まれていない場合、“{12}”を表わすには、以下の16進数リテラルを使用します。

'7B31327D'XC

7Bは"{"、7Dは"}"を表わします。