6-6-6 抽出条件の設定例

一致

文字列の一致

  • 設定
    [JOB]が「CLERK」であるデータのみを抽出するように設定します。


    一致させる文字列を指定

  • SQL実行結果
    次のように抽出結果が変わります。


    抽出条件設定前(上)と設定後(下)

日付の一致

  • 設定
    [HIREDATE]が1981年12月03日であるデータのみを抽出するように設定します。日付データを設定する場合は、データの前後を「#」で囲います。


    一致させる日付を指定

    参考

    日付の区切り文字には「/」または「-」が使用可能です。

  • SQL実行結果
    次のように抽出結果が変わります。


    抽出条件設定前(上)と設定後(下)

AND

異なるDBフィールドに抽出条件をそれぞれ設定すると、指定された抽出条件をANDで組み合わせてデータを抽出します。

  • 設定
    [JOB]が「CLERK」で、かつ[HIREDATE]が「1981-12-03」に該当するデータを抽出するように設定します。


    2つの抽出条件を指定

  • SQL実行結果
    次のように抽出結果が変わります。


    抽出条件設定前(上)と設定後(下)

OR

1つのDBフィールドに対して[または]の部分にも条件を設定することにより、OR条件でデータを抽出できます。

  • 設定
    [JOB]が「CLERK」か「SALESMAN」のデータを抽出するように設定します。


    または]に指定した場合(左)とorで指定した場合(右)

  • SQL実行結果
    次のように抽出結果が変わります。


    抽出条件設定前(左)と設定後(右)

ANDとORの併用

ANDとORの条件を組み合わせて複合条件として設定できます。

  • 設定
    [JOB]が「CLERK」でかつ[HIREDATE]が「1981-12-03」、または[JOB]が[SALESMAN]に該当するデータを抽出するように設定します。


    複数の抽出条件に加え[または]に条件を指定

  • SQL実行結果
    次のように抽出結果が変わります。


    抽出条件設定前(上)と設定後(下)

比較

比較演算子を使用して抽出条件を設定します。設定可能な比較演算子の記述方法については、接続データベースの記述に従います。
例えば、次のような演算子を指定することが可能です。

演算子
説明
< ~より小さい
<= ~以下
> ~より大きい
>= ~以上
= ~と等しい
<> ~と等しくない
IN 含まれる
NOT IN 含まれない
NULL(IS NULL) NULLに等しい
NOT NULL(IS NOT NULL) NULLに等しくない
BETWEEN A AND B AからBまで
  • 設定1
    [SAL]が2500以上であるデータを抽出するように設定します。


    比較演算子で抽出条件を設定

  • SQL実行結果1
    次のように抽出結果が変わります。


    抽出条件設定前(上)と設定後(下)

  • 設定2
    [COMM]がNULL以外のデータを抽出するように設定します。


    文字の比較演算で抽出条件を設定

  • SQL実行結果2
    次のように抽出結果が変わります。


    抽出条件指定前(上)と指定後(下)

範囲

データの範囲を指定してデータを抽出します。

  • 設定
    [SAL]が「2000」から「3000」までのデータを抽出するように設定します。


    データの範囲を設定

  • SQL実行結果
    次のように抽出結果が変わります。


    抽出条件設定前(上)と設定後(下)

抽出条件に「>= 2000 and <= 3000」と記述しても同じ結果が得られます。

ワイルドカードの指定

ワイルドカードを使うことで、指定文字または指定文字列を含むレコードを抽出できます。

  • 設定
    [ENAME]で「S」から始まるデータを抽出するように設定します。


    ワイルドカードを使って抽出条件を設定

  • SQL実行結果
    次のように抽出結果が変わります。


    抽出条件設定前(左)と設定後(右)

  • ワイルドカードの指定例

    説明
    LIKE 'ヨーグルト%'
    文字列の先頭に「ヨーグルト」というデータがあるレコードを抽出
    LIKE '%ヨーグルト%' 文字列の中に「ヨーグルト」という文字列があるレコードを抽出
    LIKE '%ヨーグルト' 文字列の最後に「ヨーグルト」というデータがあるレコードを抽出
    LIKE 'S%' 文字列の先頭が'S'で始まるレコードを抽出
    LIKE '%S%' 文字列中に'S'という文字列があるレコードを抽出
    LIKE '%S' 文字列の最後が'S'で終わるレコードを抽出
    NOT LIKE '%S' 文字列の最後が'S'で終わらないレコードを抽出

他のフィールドとの比較

データを比較するときに、他のDBフィールドと比較してレコードを抽出できます。

  • 設定
    [出荷日]が[締切日]より大きい([締切日]の翌日以降)レコードを抽出するように設定します。


    フィールドの比較を設定

変数の使用

抽出条件式に変数名を使用することにより、Query Designerからの印刷実行時、SQL実行時にダイアログを表示させ、抽出条件を入力できます。

変数の使用例

  • 設定
    [EMPNO]の抽出条件として変数名「抽出NO」を定義し、値をダイアログから入力できるようにします。


    変数を設定

  • SQL実行結果

    レコードを抽出するための開始番号指定ダイアログが表示されます。値を入力して[OK]ボタンをクリックすると、抽出条件値を設定するためのダイアログが表示されます。
    変数名として定義した名前が抽出条件の項目名です。


    抽出の開始番号を指定


    抽出条件設定前(上)と設定後(下)

  • 変数の記述形式
    変数は次の形式で記述します。

    [タイプ|変数名|デフォルト値]
    
    項目 説明
    タイプ

    入力文字種を指定します。

    意味
    X 文字
    9 数字(+、-の記号と数字(小数点も可)で定義します。)
    D 日付(YYYY-MM-DDまたはYY-MM-DDで定義します。)
    T 時刻(HH:MM:SSまたはHH:MMで定義します。)
    S 日付時刻(YYYY-MM-DD HH:MM:SSまたはYY-MM-DD HH:MMで定義します。)
    変数名
    ダイアログに表示されるタイトル文字列です。また、VrCondition関数を使用し変数に値を代入するときに指定される変数名です。
    デフォルト値
    ダイアログに初期値として表示される値を指定します。
    ユーザープログラムからSVF実行部を使用して印刷する場合は、VrConditionメソッドで変数に対して値を代入する必要があります。
    参考

    デフォルト値は省略できます。省略する場合は、必ず「|」(縦棒)を区切り文字として変数名の後ろに設定してください。

    • 正  [タイプ|変数名|]
    • 誤  [タイプ|変数名]