FIND 基本コマンド

FIND 基本コマンドは、データを検索して、文字ストリングまたは特定の数値を持つ数値フィールドを検出します。

File Manager/Db2 エディター・セッション、またはオブジェクト・リスト・ユーティリティーでは、以下のようになります。
  • ストリングまたは数値が見つかると、FIND コマンドはそのストリングまたは数値フィールドの先頭にカーソルを合わせて、必要なら自動的にスクロールして見つかったデータが見えるようにします。
  • FIND コマンドは、現れたすべての検索ストリングまたは数値を強調表示します (FIRST、LAST、PREV、NEXT、EX、NX、または X を指定しているときも同様です)。強調表示をオフにするには、RESET FIND コマンドを入力します。
「Print Browse (印刷ブラウズ)」では、以下のようになります。
  • 文字ストリングが見つかると、そのストリングを含むレコードは最上部に表示されます。
次に現れる同じストリングを検索するには、「RFind」機能キー (F5) を押し、FIND * と入力するか、パラメーターを指定しないで FIND コマンドを入力します。ストリングが見つからなければ、メッセージが表示されます。
注:
FIND * では、同じパラメーターを持つ前の FIND コマンドを繰り返しませんFIND * では、同じストリング引数を持つ FIND コマンドを繰り返しますが、他のすべてのパラメーターは、指定されないかぎりデフォルト値に戻ります。

構文

1. Editor session

1 Find
1 ∕
1 FX(1)
column list or range (SNGL or TABL display format)

1 ! #ALL
2.1 (?+ , col_num)
1 (?+ , col_num_1 - col_num_2)
label range

1!  .ZFIRST .ZLAST
1?  label1 label2
注:
  • 1 パラメーターは、任意の順序で指定できます。
2. Object List utility

1 Find
1 ∕
1 
2.1! NEXT
2.1 ALL
2.1 FIRST
2.1 LAST
2.1 PREV
1 string
1  string
2.1! NEXT
2.1 ALL
2.1 FIRST
2.1 LAST
2.1 PREV
1 + , col_num
1  ( ?+ , col_num )
3. Print Browse

1 Find
1 ∕
2 string
* (アスタリスク)
検索ストリングとして、直前の FIND コマンドに指定した検索ストリングを使用します。
ストリング
検索するストリング。このストリングの最大文字長は 100 文字で、以下のものを入れることができます。
  • 引用符で開始または終了せず、ブランクまたはコンマを含まない文字ストリング。ストリングの大/小文字は無視されます。同一文字の英大文字表記と小文字表記は一致します。例えば、次のコマンドは、ストリング「black」、「Black」、および「BLACK」を検出します。
    FIND black
  • 一重引用符で囲まれた文字ストリング。このストリングには、ブランクとコンマを入れることができます。ストリングの大/小文字は無視されます。例えば、'Exact string''exact string' と一致します。
  • 「C」と、その後に引用符で囲まれた文字ストリング (C'Frog')、または、引用符で囲まれた文字ストリングと、その後に「C」('Frog'C)。このストリングには、ブランクとコンマを入れることができます。ストリングは (大文字/小文字も含めて) 完全に一致しなければなりません。例えば、C'Exact string'C'exact string' と一致しません。
  • P が前または後に付いている単一引用符または二重引用符で囲まれた、文字そのものではなく検索対象のストリングのタイプを表すピクチャー・ストリング。それ自体を表すブランク、英字、および数字、あるいは、それぞれ文字のクラスを表す下記の任意の特殊文字を含めることができます。
    =
    任意の文字。
    @
    英字。
    #
    数字。
    $
    特殊文字。
    & notsym;
    非ブランク文字。
    .
    無効文字。
    -
    非数値文字。
    <
    小文字英字。
    >
    大文字英字。

    FIND コマンドで使用されるピクチャー・ストリングの例:

    find p'.' #3
    列 3 の無効文字を検出します。
    find p'###'
    3 桁の数字 (例えば、101 は該当しますが、99 は該当しません) を検索します。
    find '@1'p #1
    1 桁目のラベル a1、b1、c1 などを検索します。
    find p'<'
    小文字英字を検索します。
    find p'¬' #2
    2 桁目の非ブランク文字を検索します。

    この表記が使用される場合、数字、ビット、およびユニコードのフィールド (SNGL および TABL 表示形式) は、検索処理から除外されます。

  • X と、その後に一重引用符で囲まれた 16 進ストリング。例えば、X'C1C2' です。
  • 文字そのものではなくストリングのパターンとして指定するには、正規表現ストリングの前または後に R を追加し、単一引用符または二重引用符で囲みます。このストリングは、C ランタイム・ライブラリーでサポートされいる、C ランタイム・ライブラリーの regcomp 関数で許可されている形式に準拠している必要があり、かつ C ランタイム・ライブラリーが使用可能である必要があります。大/小文字を区別した検索を行うには、RC を使用します。
    正規表現の例は次のとおりです。
    列 1 ~ 10 内の「cat」または「hat」
    r'[ch]at' 1 10
    「payer」または「payee」
    r'pay(er!ee)'
    「band」または「bald」、ただし「bad」を除く
    'ba.d'r
    「feed」または「weed」、ただし「fed」または「wed」を除く
    r'[fw]e{2}d'
    「The」または「She」、ただし「the」または「she」を除く
    rc'[TS]he'
    この SETLOCALE 関数は、regcomp 関数が正規表現をコンパイルする際に使用するロケールを定義するために使用されます。SETLOCALE 関数に使用されるロケールは、端末 CCSID に基づいています。ロケールは、次の端末 CCSID でサポートされています。
        00037   00871   01123   01156                                     
        00273   00875   01140   01157                                     
        00277   00924   01141   01158                                     
        00278   00930   01142   01160                                     
        00280   00933   01143   01165                                     
        00284   00935   01144   01364                                     
        00285   00937   01145   01371                                     
        00290   00939   01146   01388                                     
        00297   01025   01147   01390                                     
        00424   01026   01148   01399                                     
        00425   01027   01149   04971                                     
        00500   01047   01153   05123                                     
        00838   01112   01154   08482                                     
        00870   01122   01155   12712 
    
    別の CCSID を持つ端末を使用している場合、正規表現をコンパイルするときにデフォルトの C ロケールが使用されます。
  • (FM/Db2 エディター・セッションのみ。)数値 (列番号を指定して検索を制限しているとき、および検索中の列が数値列であるときのみ)。
NEXT
これはデフォルト設定です。カーソル位置 (カーソルがデータ表示部分にある場合) または表示された最初の行の先頭から検索を開始して、次に現れる string を見つけるために下方へ検索していきます。
ALL
検索はデータの最上部から始まり、現れるすべてのストリングを検索します。
注:
非表示またはシャドーイングされている非選択行は、ALL パラメーターが指定されていても、FIND コマンドでは処理されません。
FIRST
表の先頭から開始して、下方へ検索します。
LAST
表の最後から開始して、上方へ検索します。
PREV
カーソル位置 (カーソルがデータ表示部分にある場合) または表示された先頭行から検索を開始し、ストリングを見つけるために上方へ検索していきます。
CHARS
データ内の任意の場所で、その検索ストリングに突き合わせます。
PREFIX
データ内の接頭部として出現する場所で、その検索ストリングに突き合わせます。接頭部にするには、一致したテキストの前に非英数字が付くか、あるいは一致したテキストが行またはフィールドの先頭である必要があり、その後に英数字が続く必要があります。
SUFFIX
データ内の接尾部として出現する場所で、その検索ストリングに突き合わせます。接尾部にするには、一致したテキストの前に英数字が付く必要があり、後に非英数字が続くか、一致したテキストが行またはフィールドの終端である必要があります。
WORD
データ内のワードとして出現する場所で、その検索ストリングに突き合わせます。ワードにするには、一致したテキストの前に非英数字が付くか、あるいは一致したテキストが行またはフィールドの先頭である必要があり、その後に非英数字が続くか、あるいは一致したテキストが行またはフィールドの終端である必要があります。
#ALL
それぞれの列は、そのテンプレート属性に基づいて検索されます。
col_num
データ検索に含める列の Db2® 列番号 (#n として指定)。複数の列番号はコンマで区切るか、 全体がブラケットで囲まれている場合にはブランクまたはコンマで区切る必要があります。
col_num_1
フィールドの範囲の最初のフィールド参照。添え字にすることはできません。col_num_1 フィールド参照値が、表示されている最小のフィールド参照値より小さい場合は、表示されている最小のフィールド参照値が使用されます。
col_num_2
フィールドの範囲の最後のフィールド参照。添え字にすることはできません。col_num_2 フィールド参照値が、表示されている最大のフィールド参照値より大きい場合は、表示されている最大のフィールド参照値が使用されます。

col_num_1 および col_num_2 フィールド参照値は、ハイフン (-) で区切る必要があります。ハイフンとフィールド参照値の間にスペースを使用することができます。

col_num_1 の値が col_num_2 より大きい場合は、検索プロセスはオペランドを取り消します。

label1
(FM/Db2 エディター・セッションのみ。)レコード範囲の始まりを識別するラベル。ラベルはピリオド (.) で始まり、その後に 1 から 4 文字の英字 (数字または特殊文字ではない) を続ける必要があります。文字「Z」で始まるラベルはエディター割り当てラベルを示します。
label2
(FM/Db2 エディター・セッションのみ。)行範囲の最後を識別するラベル。ラベルはピリオド (.) で始まり、その後に 1 から 4 文字の英字 (数字または特殊文字ではない) を続ける必要があります。文字「Z」で始まるラベルはエディター割り当てラベルを示します。
EX
除外行のみ。
NX
非除外行のみ。
X
EX と同じ。

使用箇所

関連するタスク