制限 - Advanced SQL Engine - Teradata Database

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

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/zsn1556242031050.ditamap
dita:ditavalPath
ja-JP/zsn1556242031050.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;