3.3.3 条件の設定
データを抽出するための条件を設定します。[条件設定]ダイアログで設定します。[条件設定]ダイアログは,データベースアクセス定義ウィンドウの[条件設定]ボタンをクリックすると表示されます。設定できる条件の種類を,次に示します。
条件 |
説明 |
条件記号 |
意味 |
---|---|---|---|
比較条件 |
左辺と右辺を比較し,条件に合うデータを抽出します。右辺の定数は可変記号を設定できます。 |
= |
列の値と条件値が同じ |
<> |
列の値が条件値と異なる |
||
> |
列の値が条件値より大きい |
||
>= |
列の値が条件値以上 |
||
< |
列の値が条件値より小さい |
||
<= |
列の値が条件値以下 |
||
NULL条件 |
NULL値を持つデータ,またはNULL値を持たないデータを抽出します。 |
NULL |
列の値がNULL値 |
NOT NULL |
列の値がNULL値以外 |
||
LIKE条件 |
右辺に指定した文字パターンと同じデータ,または異なるデータを抽出します。右辺の文字パターンは可変記号を設定できます。 |
LIKE |
列の値が,指定した文字パターンと同じ |
NOT LIKE |
列の値が,指定した文字パターンと異なる |
||
IN条件 |
右辺に指定した定数が含まれるデータ,または含まれないデータを抽出します。右辺の定数は可変記号を設定できます。指定できる定数の数はアクセスするデータベースによって異なります。 |
− |
− |
BETWEEN条件 |
右辺に指定した定数1と定数2の間(定数1および定数2を含む)のデータ,または間以外(定数1および定数2を含まない)のデータを抽出します。右辺の定数は可変記号を設定できます。 |
− |
− |
列演算条件 |
演算を用いた条件式で比較します。「+ − * / ( )」および定数を使って条件式を設定して,左辺と右辺を比較して条件に合うデータを抽出します。 |
− |
− |
WHERE句に指定できる条件 |
SQLのWHERE句の形式で記述した条件を,そのまま指定します。 |
− |
− |
表結合条件 |
表と表を結合します。 |
− |
− |
- 〈この項の構成〉
(1) 操作方法
条件式の設定方法を次に示します。
-
[条件設定]ダイアログの表示
[条件設定]ボタンをクリックします。[条件設定]ダイアログが表示されます。
-
条件式の設定
条件式を設定します。設定できる条件を次に示します。
-
比較条件
-
NULL条件
-
LIKE条件
-
IN条件
-
BETWEEN条件
-
列演算条件
-
WHERE句に指定できる条件
-
表結合条件
-
-
[OK]ボタンのクリック
[条件設定]ダイアログに戻ります。[条件設定]ダイアログの[OK]ボタンをクリックすると,設定した条件式が表示されます。
- 設定した条件式を削除する場合
-
設定した条件式を削除する場合は,[条件設定]ダイアログの[削除]ボタンをクリックします。
(2) 列と定数の規則
列の属性によって,定数や指定範囲が異なります。列と定数の規則を次に示します。
(3) 比較条件
左辺と右辺を比較し,条件に合うデータを抽出します。比較条件の設定は,[条件設定]ダイアログで設定します。
列と定数の比較は,列属性によっては使用できない定数があります。列と定数の規則については,「表3-8 列と定数の規則」を参照してください。
[条件設定]ダイアログの「列一覧」リストから条件を設定する列を選択し,[条件]リストボックスから,比較条件式(=,<>,>,>=,<,<=)を選択します。[条件]テキストボックスに設定値を入力し,[設定]ボタンをクリックします。「一覧」リストに条件式が表示されます。右辺の定数に可変記号を指定したい場合は,[可変記号]ボタンをクリックし,[可変記号]ダイアログで可変記号を入力します。
(4) NULL条件
NULL値を持つデータ,またはNULL値を持たないデータを抽出します。NULL条件の設定は,[条件設定]ダイアログで設定します。
[条件設定]ダイアログの「列一覧」リストから条件を設定する列を選択し,[条件]リストボックスから,NULL条件式(NULL,NOT NULL)を選択します。[設定]ボタンをクリックします。「一覧」リストに条件式が表示されます。
(5) LIKE条件
右辺に指定した文字パターンと同じデータ,または異なるデータを抽出します。LIKE条件の設定は,[条件設定]ダイアログで設定します。
「_」と「%」は,次に示すように,列属性によって表示できる文字が異なります。
-
全角文字の「_」と「%」
NCHAR,またはNVARCHARで指定します。
-
半角文字の「_」と「%」
CHAR,VARCHAR,LONG VARCHAR,MCHAR,MVARCHAR,UCHAR,UVARCHAR,またはLONG UVARCHARで指定します。
UCHAR,UVARCHAR,またはLONG UVARCHARは,SQL Serverを使用する場合で,Unicodeデータを抽出するときだけ使用できます。
文字パターンの指定方法を,次に示します。
項目 |
指定例 |
意 味 |
---|---|---|
前方一致 |
ABC% |
文字列の先頭がABCであり,以降の文字は任意です。 |
後方一致 |
%ABC |
文字列の最後がABCであり,以前の文字は任意です。 |
任意一致 |
%ABC% |
文字列中の任意の部分がABCです。 |
完全一致 |
ABC |
文字列がABCと等しいです。 |
部分一致 |
_ _ABC_ |
6文字の文字列のうち,3〜5文字目がABCであり,ほかの部分は任意の文字です。 |
その他 |
ABC%DE |
文字列の先頭がABCであり,最後がDEです。 |
%ABC%DE% |
文字列中の任意の部分にABCを含み,以降の任意の部分にDEを含みます。 |
|
ABC_ _DE% |
文字列の先頭がABC,任意の文字列2文字を挟んでDE,以降の文字が任意です。 |
[条件設定]ダイアログの「列一覧」リストから条件を設定する列を選択し,[条件]リストボックスから,LIKE条件式(LIKE,NOT LIKE)を選択します。[条件]テキストボックスに設定値を入力し,[設定]ボタンをクリックします。「一覧」リストに条件式が表示されます。右辺の定数に可変記号を指定したい場合は,[可変記号]ボタンをクリックし,[可変記号]ダイアログで可変記号を入力します。列と定数の規則については,「表3-8 列と定数の規則」を参照してください。
(6) IN条件
右辺に指定した定数が含まれるデータ,または含まれないデータを抽出します。IN条件の設定は,[IN条件式]ダイアログで設定します。
[条件設定]ダイアログの「列一覧」リストから条件を設定する列を選択し,[IN]ボタンをクリックします。[IN条件式]ダイアログが表示されます。種別を選択し,比較する値を[値]テキストボックスに入力します。比較する値が11個以上になる場合は,[次頁]ボタンをクリックします。右辺の定数に可変記号を指定したい場合は,[可変記号]ボタンをクリックし,[可変記号]ダイアログで可変記号を入力します。入力したら,[IN条件式]ダイアログの[OK]ボタンをクリックします。「一覧」リストに条件式が表示されます。列と定数の規則については,「表3-8 列と定数の規則」を参照してください。
(7) BETWEEN条件
右辺に指定した定数1と定数2の間(定数1および定数2を含む)のデータ,または間以外(定数1および定数2を含まない)のデータを抽出します。BETWEEN条件の設定は,[BETWEEN条件式]ダイアログで設定します。
[条件設定]ダイアログの「列一覧」リストから条件を設定する列を選択し,[BETWEEN]ボタンをクリックします。[BETWEEN条件式]ダイアログが表示されます。種別を選択し,値1と値2を入力します。右辺の定数に可変記号を指定したい場合は,[可変記号]ボタンをクリックし,[可変記号]ダイアログで可変記号を入力します。入力したら,[BETWEEN条件式]ダイアログの[OK]ボタンをクリックします。「一覧」リストに条件式が表示されます。列と定数の規則については,「表3-8 列と定数の規則」を参照してください。
(8) 列演算条件
演算を用いた条件式で比較します。「+ − * / ( )」および定数を使って条件式を設定して,左辺と右辺を比較して条件に合うデータを抽出します。列演算条件の設定は,[列演算条件式]ダイアログで設定します。
列演算の条件式の指定例を次に示します。
列 {=|<>|>|>=|<|<=} 列 値式 {=|<>|>|>=|<|<=} 値式 値式::= { {+|-} 一次子|値式 {+|-|*|/} } 定数 一次子::= {列|定数}
- (凡例)
-
::= は,左辺を右辺のとおりに定義することを示します。この形式では,値式,一次子をそれぞれ右辺で定義します。
「+ − * / ( )」および定数を使って条件式を設定して,左辺と右辺を比較して条件に合うデータを抽出します。
列と定数の規則については,「表3-8 列と定数の規則」を参照してください。
条件式に指定する列名は,直接入力するか,または[列一覧]リストから選択します。[列一覧]リストから選択する場合は,列名を選択したあと,[選択]ボタンをクリックすると,[条件式]テキストボックスに入力されます。ただし,列演算の条件式に指定できる列名は,次に示す列属性を持つ列です。
左辺 |
右辺 |
---|---|
NUMERIC,DECIMAL,SMALLINT,INTEGER,REAL,FLOAT,BIT,TINYINT,DOUBLE |
NUMERIC,DECIMAL,SMALLINT,INTEGER,REAL,FLOAT,BIT,TINYINT,DOUBLE |
[条件設定]ダイアログの「列一覧」リストから条件を設定する列を選択し,[列演算]ボタンをクリックします。[列演算条件式]ダイアログが表示されます。ただし,数値属性以外の列を選択した場合は,[列演算]ボタンは不活性となります。[条件式]テキストボックスに条件式を入力し,[列演算条件式]ダイアログの[OK]ボタンをクリックします。「一覧」リストに条件式が表示されます。
(9) WHERE句に指定できる条件
SQLのWHERE句の形式で記述した条件を,そのまま指定します。WHERE句に指定できる条件の設定は,[条件式直接入力]ダイアログで設定します。
条件式に指定する列名は,直接入力するか,または[列一覧]リストから選択します。[列一覧]リストから選択する場合は,列名を選択したあと,[選択]ボタンをクリックすると,[条件式]テキストボックスに入力されます。ただし,列演算の条件式に指定できる列名は,次に示す列属性を持つ列です。
左辺 |
右辺 |
---|---|
CHAR,VARCHAR,LONG VARCHAR,MCHAR,MVARCHAR,NCHAR,NVARCHAR |
CHAR,VARCHAR,LONG VARCHAR,MCHAR,MVARCHAR,NCHAR,NVARCHAR |
NUMERIC,DECIMAL,SMALLINT,INTEGER,REAL,FLOAT,BIT,TINYINT,DOUBLE |
NUMERIC,DECIMAL,SMALLINT,INTEGER,REAL,FLOAT,BIT,TINYINT,DOUBLE |
DATE |
DATE |
TIME |
TIME |
BINARY,VARBINARY,LONG VARBINARY |
BINARY,VARBINARY,LONG VARBINARY |
TIMESTAMP |
TIMESTAMP |
[条件設定]ダイアログの「列一覧」リストから条件を設定する列を選択し,[直接入力]ボタンをクリックします。[条件式直接入力]ダイアログが表示されます。[条件式]テキストボックスに条件式を入力し,[条件式直接入力]ダイアログの[OK]ボタンをクリックします。「一覧」リストに条件式が表示されます。
(10) 表結合条件
表と表を結合します。表結合条件については,「3.3.1(4) 複数の表からのデータ抽出(表結合)」を参照してください。
(11) 可変記号の設定
可変記号と初期値を設定します。
(a) 可変記号
可変記号に指定できる文字は,次のとおりです。文字列中に,空白は指定できません。文字列の前後に空白を指定しても無視されます。
-
全角文字
-
半角カタカナ
-
半角英字:A〜Z,a〜z
-
半角数字:0〜9
先頭1文字目は,全角文字,半角カタカナ,または半角英字を指定してください。
(b) 初期値
指定できる文字列長は255バイト以下です。指定できる属性は,文字定数,数値定数です。一つの可変記号名に対して指定できる初期値は一つです。二つ以上の初期値は指定できません。
指定できる定数の規則は,[条件設定]ダイアログで条件式を設定する場合と同じです。列と定数の規則については,「表3-8 列と定数の規則」を参照してください。
初期値は,指定を省略することもできます。ただし,初期値を指定しない場合は,データを検索する「実行値」を指定する必要があります。「実行値」は,[実行値入力]ダイアログで指定します。