16.20 - 制限 - Teradata Vantage NewSQL Engine

Teradata Vantage™ データ タイプおよびリテラル

prodname
Teradata Database
Teradata Vantage NewSQL Engine
vrm_release
16.20
category
プログラミング リファレンス
featnum
B035-1143-162K-JPN

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;