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

Teradata Vantage™ - SQL関数、式、および述部

Product
Advanced SQL Engine
Teradata Database
Release Number
17.05
17.00
Published
2020年6月
Language
日本語
Last Update
2021-03-30
dita:mapPath
ja-JP/tpt1555966086716.ditamap
dita:ditavalPath
ja-JP/tpt1555966086716.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;