3.3.3 条件の設定

データを抽出するための条件を設定します。[条件設定]ダイアログで設定します。[条件設定]ダイアログは,データベースアクセス定義ウィンドウの[条件設定]ボタンをクリックすると表示されます。設定できる条件の種類を,次に示します。

表3-7 条件の種類

条件説明条件記号意味
比較条件左辺と右辺を比較し,条件に合うデータを抽出します。右辺の定数は可変記号を設定できます。=列の値と条件値が同じ
<>列の値が条件値と異なる
>列の値が条件値より大きい
>=列の値が条件値以上
<列の値が条件値より小さい
<=列の値が条件値以下
NULL条件NULL値を持つデータ,またはNULL値を持たないデータを抽出します。NULL列の値がNULL値
NOT NULL列の値がNULL値以外
LIKE条件右辺に指定した文字パターンと同じデータ,または異なるデータを抽出します。右辺の文字パターンは可変記号を設定できます。LIKE列の値が,指定した文字パターンと同じ
NOT LIKE列の値が,指定した文字パターンと異なる
IN条件右辺に指定した定数が含まれるデータ,または含まれないデータを抽出します。右辺の定数は可変記号を設定できます。指定できる定数の数はアクセスするデータベースによって異なります。
BETWEEN条件右辺に指定した定数1と定数2の間(定数1および定数2を含む)のデータ,または間以外(定数1および定数2を含まない)のデータを抽出します。右辺の定数は可変記号を設定できます。
列演算条件演算を用いた条件式で比較します。「+ - * / ( )」および定数を使って条件式を設定して,左辺と右辺を比較して条件に合うデータを抽出します。
WHERE句に指定できる条件SQLのWHERE句の形式で記述した条件を,そのまま指定します。
表結合条件表と表を結合します。
(凡例)
-:該当する項目はありません。

<この項の構成>
(1) 操作方法
(2) 列と定数の規則
(3) 比較条件
(4) NULL条件
(5) LIKE条件
(6) IN条件
(7) BETWEEN条件
(8) 列演算条件
(9) WHERE句に指定できる条件
(10) 表結合条件
(11) 可変記号の設定

(1) 操作方法

条件式の設定方法を次に示します。

  1. [条件設定]ダイアログの表示
    [条件設定]ボタンをクリックします。[条件設定]ダイアログが表示されます。
  2. 条件式の設定
    条件式を設定します。設定できる条件を次に示します。
    • 比較条件
    • NULL条件
    • LIKE条件
    • IN条件
    • BETWEEN条件
    • 列演算条件
    • WHERE句に指定できる条件
    • 表結合条件
  3. [OK]ボタンのクリック
    [条件設定]ダイアログに戻ります。[条件設定]ダイアログの[OK]ボタンをクリックすると,設定した条件式が表示されます。
    設定した条件式を削除する場合
    設定した条件式を削除する場合は,[条件設定]ダイアログの[削除]ボタンをクリックします。

(2) 列と定数の規則

列の属性によって,定数や指定範囲が異なります。列と定数の規則を次に示します。

表3-8 列と定数の規則

列の属性使用する定数指定方法指定範囲
CHAR文字〔'〕全角,および半角の文字列〔'〕
「'」を記述する場合「''」と記述します。
1~255バイト
VARCHAR文字〔'〕全角,および半角の文字列〔'〕
「'」を記述する場合「''」と記述します。
1~255バイト
LONG VARCHAR文字〔'〕全角,および半角の文字列〔'〕
「'」を記述する場合「''」と記述します。
1~255バイト
MCHAR文字〔'〕全角,および半角の文字列〔'〕
「'」を記述する場合「''」と記述します。
1~255バイト
MVARCHAR文字〔'〕全角,および半角の文字列〔'〕
「'」を記述する場合「''」と記述します。
1~255バイト
NCHAR日本語文字〔'〕全角の文字列〔'〕1~254バイト
NVARCHAR日本語文字〔'〕全角の文字列〔'〕1~254バイト
UCHAR文字〔'〕全角,および半角の文字列〔'〕
「'」を記述する場合「''」と記述します。
1~255バイト
UVARCHAR文字〔'〕全角,および半角の文字列〔'〕
「'」を記述する場合「''」と記述します。
1~255バイト
LONG UVARCHAR文字〔'〕全角,および半角の文字列〔'〕
「'」を記述する場合「''」と記述します。
1~255バイト
BINARY16進数〔'〕0~9,A~Fの半角の文字列〔'〕1~254バイト
VARBINARY
LONG VARBINARY
NUMERIC10進数〔符号〕整数部.小数部定義桁数
DECIMAL10進数〔符号〕整数部.小数部定義桁数
SMALLINT整数〔符号〕整数-32768~32767
INTEGER整数〔符号〕整数-2147483648​~2147483647​
TINYINT整数〔符号〕整数-256~255
BIT整数0,または10,または1
REAL浮動小数点数〔符号〕仮数E〔符号〕指数約±1.7E±308
ただし指数18桁,仮数3桁
FLOAT浮動小数点数〔符号〕仮数E〔符号〕指数約±1.7E±308
ただし指数18桁,仮数3桁
DOUBLE浮動小数点数〔符号〕仮数E〔符号〕指数約±1.7E±308
ただし指数18桁,仮数3桁
DATE日付の文字表現〔'〕YYYY-MM-DD〔'〕
年(YYYY),月(MM),日(DD)を「-」で結びます。
YYYY:0001~9999
MM:01~12
DD:01~その月の最終日
TIME時間の文字表現〔'〕hh:mm:ss〔'〕
時(hh),分(mm),秒(ss)を「:」で結びます。
hh:00~23
mm:00~59
ss:00~59
TIMESTAMP(16桁)タイムスタンプ〔'〕YYYY-MM-DD△hh:mm〔'〕
日付の文字表現と時間の文字表現の時分を,半角空白(△)で結びます。
YYYY:0001~9999
MM:01~12
DD:01~その月の最終日
hh:00~23
mm:00~59
TIMESTAMP(19桁)タイムスタンプ〔'〕YYYY-MM-DD△hh:mm:ss〔'〕
日付の文字表現と時間の文字表現を,半角空白(△)で結びます。
YYYY:0001~9999
MM:01~12
DD:01~その月の最終日
hh:00~23
mm:00~59
ss:00~59
TIMESTAMP(23桁)タイムスタンプ〔'〕YYYY-MM-DD△hh:mm:ss〔.nnn〔'〕〕
日付の文字表現と時間の文字表現を,半角空白(△)で結び,「.」のあとに3桁の小数秒を付けます。
YYYY:0001~9999
MM:01~12
DD:01~その月の最終日
hh:00~23
mm:00~59
ss:00~59
nnn:000~999
TIMESTAMP(26桁)タイムスタンプ〔'〕YYYY-MM-DD△hh:mm:ss〔.nnnnnn〔'〕〕
日付の文字表現と時間の文字表現を,半角空白(△)で結び,「.」のあとに6桁の小数秒を付けます。
YYYY:0001~9999
MM:01~12
DD:01~その月の最終日
hh:00~23
mm:00~59
ss:00~59
nnn:000~999
(凡例)
-:該当する項目はありません。
注※
SQL Serverを使用する場合で,Unicodeデータを抽出するときだけ使用できます。

(3) 比較条件

左辺と右辺を比較し,条件に合うデータを抽出します。比較条件の設定は,[条件設定]ダイアログで設定します。

列と定数の比較は,列属性によっては使用できない定数があります。列と定数の規則については,「表3-8 列と定数の規則」を参照してください。

[条件設定]ダイアログの「列一覧」リストから条件を設定する列を選択し,[条件]リストボックスから,比較条件式(=,<>,>,>=,<,<=)を選択します。[条件]テキストボックスに設定値を入力し,[設定]ボタンをクリックします。「一覧」リストに条件式が表示されます。右辺の定数に可変記号を指定したい場合は,[可変記号]ボタンをクリックし,[可変記号]ダイアログで可変記号を入力します。

(4) NULL条件

NULL値を持つデータ,またはNULL値を持たないデータを抽出します。NULL条件の設定は,[条件設定]ダイアログで設定します。

[条件設定]ダイアログの「列一覧」リストから条件を設定する列を選択し,[条件]リストボックスから,NULL条件式(NULL,NOT NULL)を選択します。[設定]ボタンをクリックします。「一覧」リストに条件式が表示されます。

(5) LIKE条件

右辺に指定した文字パターンと同じデータ,または異なるデータを抽出します。LIKE条件の設定は,[条件設定]ダイアログで設定します。

「_」と「%」は,次に示すように,列属性によって表示できる文字が異なります。

文字パターンの指定方法を,次に示します。

表3-9 文字パターンの指定方法

項目指定例意 味
前方一致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 列と定数の規則」を参照してください。

条件式に指定する列名は,直接入力するか,または[列一覧]リストから選択します。[列一覧]リストから選択する場合は,列名を選択したあと,[選択]ボタンをクリックすると,[条件式]テキストボックスに入力されます。ただし,列演算の条件式に指定できる列名は,次に示す列属性を持つ列です。

表3-10 条件式に指定できる列名

左辺右辺
NUMERIC,DECIMAL,SMALLINT,INTEGER,REAL,FLOAT,BIT,TINYINT,DOUBLENUMERIC,DECIMAL,SMALLINT,INTEGER,REAL,FLOAT,BIT,TINYINT,DOUBLE

[条件設定]ダイアログの「列一覧」リストから条件を設定する列を選択し,[列演算]ボタンをクリックします。[列演算条件式]ダイアログが表示されます。ただし,数値属性以外の列を選択した場合は,[列演算]ボタンは不活性となります。[条件式]テキストボックスに条件式を入力し,[列演算条件式]ダイアログの[OK]ボタンをクリックします。「一覧」リストに条件式が表示されます。

(9) WHERE句に指定できる条件

SQLのWHERE句の形式で記述した条件を,そのまま指定します。WHERE句に指定できる条件の設定は,[条件式直接入力]ダイアログで設定します。

条件式に指定する列名は,直接入力するか,または[列一覧]リストから選択します。[列一覧]リストから選択する場合は,列名を選択したあと,[選択]ボタンをクリックすると,[条件式]テキストボックスに入力されます。ただし,列演算の条件式に指定できる列名は,次に示す列属性を持つ列です。

表3-11 条件式に指定できる列名

左辺右辺
CHAR,VARCHAR,LONG VARCHAR,MCHAR,MVARCHAR,NCHAR,NVARCHARCHAR,VARCHAR,LONG VARCHAR,MCHAR,MVARCHAR,NCHAR,NVARCHAR
NUMERIC,DECIMAL,SMALLINT,INTEGER,REAL,FLOAT,BIT,TINYINT,DOUBLENUMERIC,DECIMAL,SMALLINT,INTEGER,REAL,FLOAT,BIT,TINYINT,DOUBLE
DATEDATE
TIMETIME
BINARY,VARBINARY,LONG VARBINARYBINARY,VARBINARY,LONG VARBINARY
TIMESTAMPTIMESTAMP

[条件設定]ダイアログの「列一覧」リストから条件を設定する列を選択し,[直接入力]ボタンをクリックします。[条件式直接入力]ダイアログが表示されます。[条件式]テキストボックスに条件式を入力し,[条件式直接入力]ダイアログの[OK]ボタンをクリックします。「一覧」リストに条件式が表示されます。

(10) 表結合条件

表と表を結合します。表結合条件については,「3.3.1(4) 複数の表からのデータ抽出(表結合)」を参照してください。

(11) 可変記号の設定

可変記号と初期値を設定します。

(a) 可変記号

可変記号に指定できる文字は,次のとおりです。文字列中に,空白は指定できません。文字列の前後に空白を指定しても無視されます。

先頭1文字目は,全角文字,半角カタカナ,または半角英字を指定してください。

(b) 初期値

指定できる文字列長は255バイト以下です。指定できる属性は,文字定数,数値定数です。一つの可変記号名に対して指定できる初期値は一つです。二つ以上の初期値は指定できません。

指定できる定数の規則は,[条件設定]ダイアログで条件式を設定する場合と同じです。列と定数の規則については,「表3-8 列と定数の規則」を参照してください。

初期値は,指定を省略することもできます。ただし,初期値を指定しない場合は,データを検索する「実行値」を指定する必要があります。「実行値」は,[実行値入力]ダイアログで指定します。