17.10 - 制限 - 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
日本語 (日本)

ARRAY値のリレーショナル比較はできません。ARRAYデータには、いかなるリレーショナル比較演算子も使用できません。リレーショナル比較ができるのは、ARRAYの個々の構成要素に限られます。

例: ARRAY_COMPAREを使用した、テーブルの問合わせ

この例では、inventoryテーブルには、2つのARRAY列(sale_price_juneおよびsale_price_july)があり、次の構成要素の値を持っています。

sale_price_june[1:10] = 50, 100, 200, 90, 250, 550, 200, 200, 50, 75
sale_price_july[1:10] = 50, 100, 200, 90, 250, 550, 200, 200, 50, 75

sale_price_june配列内のすべての構成要素の値がsale_price_july配列の構成要素の値に等しいので、次の問合わせの出力は1です。

SELECT ARRAY_COMPARE(sale_price_june, sale_price_july)
FROM inventory;

次は、メソッドスタイルの構文を使用した同じ問合わせです。

SELECT sale_price_june.ARRAY_COMPARE(sale_price_july)
FROM inventory;

同じ配列を考えますが、構成要素の値は次のように異なっています。

sale_price_june[1:10] = 50, 100, 200, 90, 250, 550, 200, 200, 50, 75
sale_price_july[1:10] = 50, 100, 200, 90, 300, 550, 200, 200, 50, 75

位置5にある構成要素の値が2つの配列で異なるため、次の問合わせの出力は0です。

SELECT ARRAY_COMPARE(sale_price_june, sale_price_july)
FROM inventory;

次の問合わせは、位置6~10の構成要素の値を比較します。問合わせの出力は、両方の配列の指定位置の構成要素の値が等しいため、1になります。

SELECT ARRAY_COMPARE(sale_price_june, sale_price_july, 6, 10)
FROM inventory;