3.4. 基準


条件には、以下のいずれかの項目を使用できます。

  • true または false に評価される述語。
  • 条件を組み合わせる論理条件(AND、OR、not)。
  • 型ブール値の値式。

用途

criteria AND|OR criteria
Copy to Clipboard Toggle word wrap

NOT criteria
Copy to Clipboard Toggle word wrap
(criteria)
Copy to Clipboard Toggle word wrap
expression (=|<>|!=|<|>|<=|>=) (expression|((ANY|ALL|SOME) subquery|(array_expression)))
Copy to Clipboard Toggle word wrap
expression IS [NOT] DISTINCT FROM expression
Copy to Clipboard Toggle word wrap

IS DISTINCT FROM は null 値を同等とみなし、UNKNOWN 値を生成しません。

注記

オプティマイザーは IS DISTINCT FROM を処理するように調整されていないため、プッシュされていない結合述語で使用すると、作成される計画も通常の比較は実行されません。

expression [NOT] IS NULL
Copy to Clipboard Toggle word wrap
expression [NOT] IN (expression [,expression]*)|subquery
Copy to Clipboard Toggle word wrap
expression [NOT] LIKE pattern [ESCAPE char]
Copy to Clipboard Toggle word wrap

LIKE は、指定の文字列パターンに対して文字列式と一致します。パターンには % を含めることで任意の数の文字に一致させ、任意の 1 文字に一致する _ を指定できます。エスケープ文字を使用すると、一致文字 % および _ をエスケープできます。

expression [NOT] SIMILAR TO pattern [ESCAPE char]
Copy to Clipboard Toggle word wrap

SIMILAR TO は、LIKE と標準の正規表現構文との間の相互です。.* および . ではなく、% _ が使用され ます

注記

Data Virtualization は、SIMILAR TO パターン値を網羅的に検証しません。代わりに、パターンは同等の正規表現に変換されます。SIMILAR TO を使用する場合は、一般的な正規表現機能に依存しないでください。追加の機能が必要な場合は、LIKE_REGEX を使用します。Data Virtualization では SQL のプッシュダウン述語を処理する機能が制限されているため、literal 以外のパターンは使用しないでください。

expression [NOT] LIKE_REGEX pattern
Copy to Clipboard Toggle word wrap

照合には、LIKE_REGEX を標準の正規表現構文と共に使用できます。これは、エスケープ文字が使用されなくなった点で SIMILAR TO および LIKE とは異なります。\ は正規表現の標準的なエスケープメカニズムで、%'_ には特別な意味がありません。ランタイムエンジンは正規表現の JRE 実装を使用します。詳細は、java.util.regex.Pattern クラスを参照してください。

注記

データ仮想化は、LIKE_REGEX パターン値を網羅的に検証しません。SQL 仕様で指定されていない JRE のみの正規表現機能を使用できます。また、すべてのソースが同じ正規表現のフレーバーまたは拡張機能を使用できる訳ではありません。プッシュダウンの状況では、使用するパターンが Data Virtualization と該当するすべてのソースで同じ意味を持つように注意してください。

EXISTS (subquery)
Copy to Clipboard Toggle word wrap
expression [NOT] BETWEEN minExpression AND maxExpression
Copy to Clipboard Toggle word wrap

Data Virtualization は、BETWEEN を同等の形式 式である minExpression AND expression 00:00:0 maxExpression に変換します。

expression
Copy to Clipboard Toggle word wrap

のタイプが Boolean になります。

構文ルール

  • 最も低いものから高い優先順位の順番は、compare、not、AND、OR です。
  • 括弧でネストされた基準は、親基準を評価する前に論理的に評価されます。

有効な基準の例をいくつか示します。

  • (balance > 2500.0)
  • 100*(50 - x)/(25 - y) > z
  • concat(areaCode,concat('-',phone))LIKE '313361'
null 値の比較

null 値は不明な値を表します。null 値と比較すると 不明な と評価されます。これは、使用されて いない 場合でも true にすることはできません。

条件の優先順位

Data Virtualization は、優先順位が低い条件よりも先に、優先順位の高い条件を解析して評価します。優先順位が等しい条件は left-associative です。以下の表は、high から low までの条件の一覧です。

Expand
状態説明

SQL 演算子

を参照してください。

EXISTS, LIKE_REGEX, BETWEEN, IN, IN, IS NULL, IS DISTINCT, <,GITOPS, >, >=, =, <>

Comparison

NOT

否定

AND

接続詞

あるいは

disjunction

注記

先行さを防ぐために、パーサーは考えられる基準シーケンスをすべて受け入れません。  たとえば、left-associative 解析では、最初に = を認識してから一般的な値式 を探すため、= b は null になりません。B は 有効な一般的な値式ではありません。  したがって、ネストを使用する必要があります。たとえば、(a = b)は null です。  ルール の解析に関する詳細は、「SQL 文法の BNF 」を参照してください。

トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2025 Red Hat