17.10 - 16進文字リテラル - 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
日本語 (日本)

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

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

ANSI準拠

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

構文

[ _Latin | _Unicode | _KanjiSJIS | _Graphic ] 'hexadecimal digits' { XC | XCV | XCF }

構文要素

hexadecimal digits
16進数字の列(16進数字は0~9、a~f、またはA~Fの文字)。
XC
XCV
16進数リテラルのデータ型はVARCHAR(デフォルト)です。
XCF
16進数リテラルのデータ型は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™ - Advanced SQL Engine国際文字セット サポート、B035-1125>を参照してください。
  • 複数の連続した文字リテラル(文字リテラル、16進数文字リテラル、およびUnicode区切り文字リテラル)は、文字列を連結したものとして扱われます。

例: 16進文字リテラル

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

'7B31327D'XC

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