ビュー基準フィルタ式の構文
ビュー基準フィルタ式を使用して、ビュー・オブジェクトから取得する特定の行を識別します。
各式には、問合せ可能なフィールドの大文字と小文字が区別される名前と、その後に演算子と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()
を使用して関連コレクションをフィルタ
フィルタ式は設計時に検証されないため、スペル・ミスのフィールド名、不適切な演算子、カッコの不一致、その他のエラーなど、式に誤字が含まれている場合は、ビジネス・ロジックをテストするときに実行時に問題を学習します。