データを抽出するための条件を設定します。[条件設定]ダイアログで設定します。[条件設定]ダイアログは,データベースアクセス定義ウィンドウの[条件設定]ボタンをクリックすると表示されます。設定できる条件の種類を,次に示します。
表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句の形式で記述した条件を,そのまま指定します。 | - | - |
表結合条件 | 表と表を結合します。 | - | - |
条件式の設定方法を次に示します。
列の属性によって,定数や指定範囲が異なります。列と定数の規則を次に示します。
表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バイト |
BINARY | 16進数 | 〔'〕0~9,A~Fの半角の文字列〔'〕 | 1~254バイト |
VARBINARY | - | - | - |
LONG VARBINARY | - | - | - |
NUMERIC | 10進数 | 〔符号〕整数部.小数部 | 定義桁数 |
DECIMAL | 10進数 | 〔符号〕整数部.小数部 | 定義桁数 |
SMALLINT | 整数 | 〔符号〕整数 | -32768~32767 |
INTEGER | 整数 | 〔符号〕整数 | -2147483648~2147483647 |
TINYINT | 整数 | 〔符号〕整数 | -256~255 |
BIT | 整数 | 0,または1 | 0,または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 |
左辺と右辺を比較し,条件に合うデータを抽出します。比較条件の設定は,[条件設定]ダイアログで設定します。
列と定数の比較は,列属性によっては使用できない定数があります。列と定数の規則については,「表3-8 列と定数の規則」を参照してください。
[条件設定]ダイアログの「列一覧」リストから条件を設定する列を選択し,[条件]リストボックスから,比較条件式(=,<>,>,>=,<,<=)を選択します。[条件]テキストボックスに設定値を入力し,[設定]ボタンをクリックします。「一覧」リストに条件式が表示されます。右辺の定数に可変記号を指定したい場合は,[可変記号]ボタンをクリックし,[可変記号]ダイアログで可変記号を入力します。
NULL値を持つデータ,またはNULL値を持たないデータを抽出します。NULL条件の設定は,[条件設定]ダイアログで設定します。
[条件設定]ダイアログの「列一覧」リストから条件を設定する列を選択し,[条件]リストボックスから,NULL条件式(NULL,NOT NULL)を選択します。[設定]ボタンをクリックします。「一覧」リストに条件式が表示されます。
右辺に指定した文字パターンと同じデータ,または異なるデータを抽出します。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 列と定数の規則」を参照してください。
右辺に指定した定数が含まれるデータ,または含まれないデータを抽出します。IN条件の設定は,[IN条件式]ダイアログで設定します。
[条件設定]ダイアログの「列一覧」リストから条件を設定する列を選択し,[IN]ボタンをクリックします。[IN条件式]ダイアログが表示されます。種別を選択し,比較する値を[値]テキストボックスに入力します。比較する値が11個以上になる場合は,[次頁]ボタンをクリックします。右辺の定数に可変記号を指定したい場合は,[可変記号]ボタンをクリックし,[可変記号]ダイアログで可変記号を入力します。入力したら,[IN条件式]ダイアログの[OK]ボタンをクリックします。「一覧」リストに条件式が表示されます。列と定数の規則については,「表3-8 列と定数の規則」を参照してください。
右辺に指定した定数1と定数2の間(定数1および定数2を含む)のデータ,または間以外(定数1および定数2を含まない)のデータを抽出します。BETWEEN条件の設定は,[BETWEEN条件式]ダイアログで設定します。
[条件設定]ダイアログの「列一覧」リストから条件を設定する列を選択し,[BETWEEN]ボタンをクリックします。[BETWEEN条件式]ダイアログが表示されます。種別を選択し,値1と値2を入力します。右辺の定数に可変記号を指定したい場合は,[可変記号]ボタンをクリックし,[可変記号]ダイアログで可変記号を入力します。入力したら,[BETWEEN条件式]ダイアログの[OK]ボタンをクリックします。「一覧」リストに条件式が表示されます。列と定数の規則については,「表3-8 列と定数の規則」を参照してください。
演算を用いた条件式で比較します。「+ - * / ( )」および定数を使って条件式を設定して,左辺と右辺を比較して条件に合うデータを抽出します。列演算条件の設定は,[列演算条件式]ダイアログで設定します。
列演算の条件式の指定例を次に示します。
列 {=|<>|>|>=|<|<=} 列
値式 {=|<>|>|>=|<|<=} 値式
値式::= { {+|-} 一次子|値式 {+|-|*|/} } 定数
一次子::= {列|定数}
「+ - * / ( )」および定数を使って条件式を設定して,左辺と右辺を比較して条件に合うデータを抽出します。
列と定数の規則については,「表3-8 列と定数の規則」を参照してください。
条件式に指定する列名は,直接入力するか,または[列一覧]リストから選択します。[列一覧]リストから選択する場合は,列名を選択したあと,[選択]ボタンをクリックすると,[条件式]テキストボックスに入力されます。ただし,列演算の条件式に指定できる列名は,次に示す列属性を持つ列です。
表3-10 条件式に指定できる列名
左辺 | 右辺 |
---|---|
NUMERIC,DECIMAL,SMALLINT,INTEGER,REAL,FLOAT,BIT,TINYINT,DOUBLE | NUMERIC,DECIMAL,SMALLINT,INTEGER,REAL,FLOAT,BIT,TINYINT,DOUBLE |
[条件設定]ダイアログの「列一覧」リストから条件を設定する列を選択し,[列演算]ボタンをクリックします。[列演算条件式]ダイアログが表示されます。ただし,数値属性以外の列を選択した場合は,[列演算]ボタンは不活性となります。[条件式]テキストボックスに条件式を入力し,[列演算条件式]ダイアログの[OK]ボタンをクリックします。「一覧」リストに条件式が表示されます。
SQLのWHERE句の形式で記述した条件を,そのまま指定します。WHERE句に指定できる条件の設定は,[条件式直接入力]ダイアログで設定します。
条件式に指定する列名は,直接入力するか,または[列一覧]リストから選択します。[列一覧]リストから選択する場合は,列名を選択したあと,[選択]ボタンをクリックすると,[条件式]テキストボックスに入力されます。ただし,列演算の条件式に指定できる列名は,次に示す列属性を持つ列です。
表3-11 条件式に指定できる列名
左辺 | 右辺 |
---|---|
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]ボタンをクリックします。「一覧」リストに条件式が表示されます。
表と表を結合します。表結合条件については,「3.3.1(4) 複数の表からのデータ抽出(表結合)」を参照してください。
可変記号と初期値を設定します。
可変記号に指定できる文字は,次のとおりです。文字列中に,空白は指定できません。文字列の前後に空白を指定しても無視されます。
先頭1文字目は,全角文字,半角カタカナ,または半角英字を指定してください。
指定できる文字列長は255バイト以下です。指定できる属性は,文字定数,数値定数です。一つの可変記号名に対して指定できる初期値は一つです。二つ以上の初期値は指定できません。
指定できる定数の規則は,[条件設定]ダイアログで条件式を設定する場合と同じです。列と定数の規則については,「表3-8 列と定数の規則」を参照してください。
初期値は,指定を省略することもできます。ただし,初期値を指定しない場合は,データを検索する「実行値」を指定する必要があります。「実行値」は,[実行値入力]ダイアログで指定します。