Hitachi

EUR データベース連携ガイド


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) 操作方法

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

  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バイト

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

(凡例)

−:該当する項目はありません。

注※

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,DOUBLE

NUMERIC,DECIMAL,SMALLINT,INTEGER,REAL,FLOAT,BIT,TINYINT,DOUBLE

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

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

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]ボタンをクリックします。「一覧」リストに条件式が表示されます。

(10) 表結合条件

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

(11) 可変記号の設定

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

(a) 可変記号

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

  • 全角文字

  • 半角カタカナ

  • 半角英字:A〜Z,a〜z

  • 半角数字:0〜9

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

(b) 初期値

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

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

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