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~62000個の16進数字の列の先頭と末尾を単一引用符で囲んだものです(16進数字は0~9、a~fまたはA~Fの文字)。

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

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

'hexadecimal digits'XBF

BYTE

ANSI準拠

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

構文

'hexadecimal digits' XB [ V | F ]

構文要素

hexadecimal digits
16進数字の列(16進数字は0~9、a~f、またはA~Fの文字)。
V
16進数リテラルが可変長バイト形式であることを指定します。
F
16進数リテラルが固定長バイト形式であることを指定します。FまたはVが指定されていない場合、これがデフォルトです。

使用上の注意

バイト列を入力する形式は、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 ;