SQL問合せでの条件の使用

WHERE句に続けて、SELECT文によって返される行の検索条件を指定できます。検索条件は、条件が特定の行についてtrueに評価されたときに値を返します。

有効な条件は次のとおりです:

  • 等しい
  • 範囲
  • 類似
  • が次の範囲にない
  • 含む

次の点に注意してください。

  • SQL問合せで選択した条件によって返されるパラメータは、データ管理のターゲット・アプリケーション・フィルタ・ページで指定します。

  • 複雑な問合せに含まれる= (等しい)記号は、$パラメータより前に置く必要があります。

  • ターゲット・アプリケーション・パラメータには、IN,BETWEEN,NOT INのように、カンマで区切った値を含めることができます。

  • システムによってバインド・パラメータのデータ型が割り当てられます。数値および日付値は、整数および日付として処理されます。他の値はすべて、文字列として扱われます。

  • 条件が設定されたフィルタは、データ統合の統合の実行ページの「フィルタ」タブで使用できます。

次の表では、SQL問合せで使用できる条件について説明します。

条件 説明

EQUAL

2つの式が等しいかどうかをチェックします。式が等しい場合、条件はtrueであり、一致したレコードを返します。

次のSQL文がEQUAL条件について実行されると、顧客IDがSmithと等しいレコードが返されます:

SELECT * FROM Customers

WHERE CustomerID=1

BETWEEN

特定の範囲の間の値をチェックし、一致した値を返します。

BETWEEN条件は、両端の値を含みます。開始値と終了値が含まれます。

BETWEEN構文:

SELECT column_name(s)

FROM table_name

WHERE column_name BETWEEN value1 AND value2;

LIKE

SELECT文のWHERE句でワイルドカードを使用してパターン照合を実行し、一致したものを返します。

次の2つのワイルドカードがLIKE演算子と組み合せて使用されます:

  • %: パーセント記号は、0個、1個または複数の文字を表します

  • _: アンダースコアは1文字を表します

LIKE構文:

SELECT column1, column2, ...

FROM table_name

WHERE column LIKE pattern

IN

値リスト内のいずれかの値と同じです。

IN構文:

SELECT column_name1, column_name2, etc

FROM table_name

WHERE column_name1 IN (value1, value2, etc);

NOT IN

2つの式が等しいかどうかをチェックします。式が等しくない場合、条件はtrueであり、一致しないレコードを返します。

NOT IN構文:

SELECT column_name1, column_name2, etc

FROM table_name

WHERE column_name1 NOT IN (value1, value2, etc);