ルールと制限を以下に示します。
- QUALIFY句の検索条件にLOB列を指定することはできません。
- QUALIFY句の検索条件では、サブクエリーと結合したOR条件を指定することはできません。
次の問合わせは、サブクエリーと結合したOR条件のため失敗します。
SELECT RANK (column_1) FROM table_1 QUALIFY column_1 IN (SELECT table_2.column_1 FROM table_2) OR table_1.column.1 = 10000;
- 問合わせの中でQUALIFY句を指定する場合は、以下のいずれかの位置に統計関数も指定する必要があります。
- SELECT句の選択リスト
- GROUP BY句のグループ化キー
- QUALIFY句の検索条件
- 検索条件に行レベル セキュリティ制約の値を指定すると、この値はエンコード形式で表現しなければなりません。
- QUALIFY句内で検索条件の一部としてDEFAULT関数を使用する場合、以下のルールが適用されます。
- DEFAULT関数は、述部において列名の引数で指定できます。Teradata Databaseは、引数として指定した列のデフォルト値に対してDEFAULT関数を評価し、その値を述部の定数のように使用します。
- 式内で比較演算子の各側に条件として1つの列指定と1つのDEFAULT関数がある場合に限り、述部で列名の引数を使用せずにDEFAULT関数を指定できます。
- DEFAULT関数がNULLと評価される場合、既存の比較ルールに従って、IS NULLまたはIS NOT NULL以外の比較演算子とともに使用されたDEFAULT関数を含む条件は、不明な値と評価されます。
DEFAULT関数とNULLとを比較する場合、IS NULLまたはIS NOT NULL以外の条件は、不明な値と評価されます。
DEFAULT関数と一緒に使用する条件 比較 IS NULL - デフォルトがNULLの場合はTRUE
- そうでない場合はFALSE
IS NOT NULL - デフォルトがNULLの場合はFALSE
- そうでない場合はTRUE
DEFAULT関数の詳細について、<Teradata Vantage™ SQL関数、式、および述部、B035-1145>を参照してください。
- TOP n演算子を指定したSELECT文に、QUALIFY句を指定することはできません。
- QUALIFY句の述部として使用されるサブクエリーでは、SAMPLE句は指定できません。