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

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

Product
Advanced SQL Engine
Teradata Database
Release Number
17.10
Release Date
2021年7月
Content Type
プログラミング リファレンス
Publication ID
B035-1145-171K-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;