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)の影響を受けません。