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

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

Product
Teradata Database
Teradata Vantage NewSQL Engine
Release Number
16.20
Published
2019年3月
Language
日本語
Last Update
2019-10-29
dita:mapPath
ja-JP/xzf1512079057909.ditamap
dita:ditavalPath
ja-JP/xzf1512079057909.ditaval
dita:id
B035-1145
Product Category
Software
Teradata Vantage

バイト データ型が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;