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進数バイト リテラル値を宣言します。

構文



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 ;