制限 - Teradata Database - Teradata Vantage NewSQL Engine - ARRAY COMPARE、制約事項。

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

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

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;