OCCURS( ) 関数
構文
OCCURS(文字列, 検索語)
パラメーター
名前 | 種類 | 説明 |
---|---|---|
文字列 |
文字 |
検索される値。 テーブル内の複数のフィールド内の値を検索したい場合は、2 つ以上のフィールドを連結することができます。 OCCURS(First_Name+Last_Name,"John") |
検索語 |
文字 |
検索対象となる値。検索は大文字と小文字を区別します。 |
出力
数値。
例
基本的な例
2 が返されます。
OCCURS("abc/abc/a","ab")
3 が返されます。
OCCURS("abc/abc/a","a")
Invoice_Number フィールド内の各値におけるハイフンの出現回数が返されます。
OCCURS(Invoice_Number, "-")
高度な例
ハイフンが 2 つ以上入っている請求書番号を見つける
テーブル内の Invoice_Number にハイフンが 1 つしか入ってはいけない場合は、OCCURS( ) 関数を使って、2 つ以上のハイフンが含まれる Invoice_Number を抽出するフィルターを作成します。
SET FILTER TO OCCURS(Invoice_Number, "-") > 1
あるフィールドの値の他フィールドへの出現箇所を見つける
あるフィールドの値の他フィールドへの出現箇所を見つけるには、OCCURS( ) を使用します。たとえば、Last_Name の値が Full_Name フィールドに出現しているレコードを抽出するフィルターを作成できます。
OCCURS(Full_Name, ALLTRIM(Last_Name)) = 1
式に ALLTRIM( ) 関数を追加すると、Last_Name フィールドの先頭と末尾のスペースがすべて取り除かれ、テキスト値のみが比較されるようになります。
大文字と小文字を区別する検索を実行する
FIND( ) 関数とは異なり、OCCURS( ) 関数は大文字と小文字を区別するため、大小文字を区別した検索を実行できます。
次の式は、Vendor_Name フィールドに大文字の "UNITED EQUIPMENT"という名前が入っているすべてのレコードを抽出します("United Equipment" の出現箇所は無視)。
SET FILTER TO OCCURS(UPPER(Vendor_Name), "UNITED EQUIPMENT") > 0
大文字と小文字の違いを無視して "United Equipment" のすべての出現箇所を見つけたい場合は、UPPER( ) 関数を使って検索フィールドの値を大文字に変換します。
OCCURS(Vendor_Name, "UNITED EQUIPMENT") > 0