FIND コマンド

インデックス付き文字フィールドで、指定した文字列と一致する最初の値を検索します。

メモ

FIND コマンドと FIND( ) 関数は Analytics の 2 つの別個の機能であり、大きな違いがあります。関数の詳細については、FIND( ) 関数を参照してください。

構文

FIND 検索値

パラメーター

名前 説明
検索値

検索する文字列。

検索値は大文字と小文字を区別し、先頭のスペースを含めることができません。

引用符が検索されるデータの一部でない限り、値を引用符で囲まないでください。

特定の値の検索

文字型フィールド Card_Number の値のうち、"8590124" と完全に一致するか "8590124" で始まる最初の値を検索したいとします。

まず、Card_Number フィールドにインデックスを昇順に作成します。次に、FIND を実行します。これらを実行する例は次のようになります。

INDEX ON Card_Number TO "CardNum" OPEN
SET INDEX TO "CardNum"
FIND 8590124

備考

メモ

このコマンドの動作の詳細については、Analytics のヘルプを参照してください。

FIND の用途

FIND コマンドを使用すると、テーブル内で、インデックス付きの文字フィールドに指定した検索値を含んでいる最初のレコードに直接移動できます。

INDEX を使用するための要件

このコマンドを使用するには、検索対象のテーブルに、昇順の文字フィールドに基づくインデックスが作成されている必要があります。

複数の昇順の文字フィールドを基にインデックスが作成されている場合は、そのインデックスに指定されている最初のフィールドだけが検索されます。このコマンドで、文字以外のインデックス フィールドや、降順でインデックス付けされた文字フィールドを検索することはできません。

部分一致

部分一致がサポートされます。インデックス付きフィールドに含まれる長い値の一部を検索値に指定できるのです。ただし、検索値は、一致を成すフィールドの先頭に現れる必要があります。

一致に応じた FIND の出力

FIND コマンドの結果は、検索値が見つかったかどうかに応じて、以下のいずれかになります。

  • 検索値が見つかった場合 テーブル内で最初の一致するレコードが選択されます。
  • 検索値が見つからない場合 テーブル内で、検索値よりも大きい値を持つ最初のレコードが、選択されます。

    検索値よりも大きい値がインデックス付きフィールドに存在しない場合は、テーブルは最初のレコードに位置付けられます。どちらの場合も、"キーと一致するインデックスがありません" というメッセージが表示されます。

FIND コマンドは、[正確な文字比較を行う]オプション(SET EXACT ON/OFF)の影響を受けません。

ACL のスクリプト作成ガイド 14.1