ビュー基準フィルタ式の構文
ビュー基準フィルタ式を使用して、ビュー・オブジェクトから取得する特定の行を識別します。
各式には、問合せできるフィールドの大/小文字が区別される名前と、演算子および1つ以上のオペランド値(使用される演算子によって異なります)が含まれます。 各オペランド値は、リテラル値またはバインド変数値のいずれかです。 問合せできないフィールド、または現在のオブジェクトに存在しないフィールド名をフィルタしようとすると、エラーが発生します。 フィルタ式の簡単な例を次に示します。
値がnullかどうかをテストするには、is nullまたはis not nullキーワードを使用する必要があります:
-
Comment is null -
Comment is not null
等価の場合は=記号を使用し、非等価の場合は!=演算子または<>演算子を使用します。 リテラル日時値は、ここに示す形式のみに従う必要があります。
-
NextCallSchedule = '2015-07-15 16:26:30' -
Priority = 3 -
Priority != 1 -
Priority <> 1 -
ActivityType != 'RS' -
ActivityType <> 'RS'
関係比較には、使い慣れた<、<=、>または>演算子を、betweenまたはnot betweenとともに使用します。 リテラル日付値は、ここに示す書式のみに従う必要があります。
-
CreationDate >= '2015-07-15' -
Priority <= 2 -
Priority < 3 -
Priority <> 1 -
Priority > 1 -
Priority >= 1 -
TotalLoggedHours >= 12.75 -
Priority between 2 and 4 -
Priority not between 2 and 4
文字列一致の場合、like演算子を使用して、wildcard(s)を配置する場所に応じて、パーセント記号%をワイルドカード文字として使用し、"starts with"、"contains"または"ends with"スタイル・フィルタリングを取得できます:
-
RecordName like 'TT-%' -
RecordName like '%-TT' -
RecordName like '%-TT-%'
フィールドの値が可能性のリストに含まれているかどうかをテストするには、in演算子を使用できます:
-
ActivityType in ('OC','IC','RS')
結合関数andおよびorを使用して式を、グループ化用のカッコの一致セットと組み合せて、次のようなより複雑なフィルタを作成できます:
-
(Comment is null) or ( (Priority <= 2) and (RecordName like 'TT-99%')) -
(Comment is not null) and ( (Priority <= 2) or (RecordName like 'TT-99%'))
between句またはin句を使用する場合は、andまたはor結合を使用して他の句と結合するときに、カッコで囲む必要があります。
次の2つの方法のいずれかでフィルタ式を使用します:
-
appendViewCriteria()を使用して、newView()を使用して作成されたビュー・オブジェクトにビュー基準フィルタ式を追加 -
フィルタ式を
newViewCriteria()に渡してビュー基準を作成し、findRowsMatchingCriteria()を使用して関連コレクションをフィルタ
フィルタ式は設計時に検証されないため、スペル・ミスのフィールド名、不適切な演算子、カッコの不一致、その他のエラーなど、式に誤字が含まれている場合は、ビジネス・ロジックをテストするときに実行時に問題を学習します。