目的
16進数バイト リテラル値を宣言します。
構文
- hexadecimal digits
- 16進数字の列(16進数字は0~9、a~f、またはA~Fの文字)。
- V
- 16進数リテラルが可変長バイト形式であることを指定します。
- F
- 16進数リテラルが固定長バイト形式であることを指定します。FまたはVが指定されていない場合、これがデフォルトです。
ANSI準拠
16進数バイト リテラルは、ANSI SQL:2011規格に対するTeradata拡張機能です。
定義
16進数リテラルは、0~62000個の16進数字の列の先頭と末尾を単一引用符で囲んだものです(16進数字は0~9、a~fまたはA~Fの文字)。
データ型
XBの後に指定する修飾子によって、16進数リテラルのデータ型が指定されます。
16進数リテラルの形式 | データ型 |
---|---|
'hexadecimal digits'XBV | VARBYTE |
'hexadecimal digits'XB 'hexadecimal digits'XBF |
BYTE |
使用上の注意
バイト列を入力する形式は、16進数バイト リテラルだけです。
ルール
16進数バイト リテラルは、偶数個の16進数字によって表記されます。数字の数が奇数の場合、16進数リテラルの右側に0が付加されます。
次のテーブルについて考察します。
CREATE TABLE bvalues (b1 BYTE(2));
16進数バイト リテラル'C1C'XBを列b1に挿入するとします。
INSERT bvalues ('C1C'XB);
値の右側に0が付加されます。
SELECT * FROM bvalues; b1 ---- C1C0
例: 16進数バイト リテラル
例えば、列CodeValがBYTE(2)として定義されているとします。
CREATE TABLE bvalues (IDVal INTEGER, CodeVal BYTE(2));
BYTE列を16進数リテラルとして挿入するには、次の形式を使用します。
INSERT bvalues (112193, '7879'XB) ;
CodeValからこのような行を選択するには、次のような条件を指定します。
SELECT IDVal FROM bvalues WHERE CodeVal = '7879'XB ;