目的
16進数文字リテラル値を宣言します。
構文
- _character_set
- 16進数リテラルを表わす文字が、この(任意指定の)文字セットのレパートリーのものであることを指定します。デフォルトは、ユーザーのデフォルト文字セットです。サポートされている文字セットは次のとおりです。
- _Latinは、LATIN文字セットを示します。
- _Unicodeは、UNICODE文字セットを示します。
- _Graphicは、GRAPHIC文字セットを示します。
- _KanjiSJISは、KANJISJIS文字セットを示します。
- 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は"}"を表わします。