16.20 - HASHBUCKETを使用したBYTEタイプからINTEGERタイプへの変換 - Teradata Database - Teradata Vantage NewSQL Engine

Teradata Vantage™ SQL関数、演算子、式および述部

Product
Teradata Database
Teradata Vantage NewSQL Engine
Release Number
16.20
Release Date
2019年3月
Content Type
プログラミング リファレンス
Publication ID
B035-1145-162K-JPN
Language
日本語 (日本)

バイト データ型がCAST構文またはTeradata変換構文を使用した変換のソース タイプである場合は、ターゲット データ型もバイト タイプである必要があります。

BYTE(1)またはBYTE(2)データ型をINTEGERに変換するには、HASHBUCKET関数を使用します。

次のテーブル定義を考えます。

   CREATE TABLE ByteData(b1 BYTE(1), b2 BYTE(2));

ハッシュ バケット サイズのシステム設定に関係なく列b1をINTEGERに変換するには、以下を使用します。

   SELECT HASHBUCKET('00'XB || b1 (BYTE(4))) / ((HASHBUCKET()+1)/65536)
   FROM ByteData;

ハッシュ バケット サイズのシステム設定に関係なく列b2をINTEGERに変換するには、以下を使用します。

   SELECT HASHBUCKET(b2 (BYTE(4))) / ((HASHBUCKET()+1)/65536)
   FROM ByteData;