WHERE
SOQL クエリの WHERE 句の条件式には、1 つ以上の項目式が含まれます。論理演算子を使用することで、複数の項目式を条件式で指定できます。
構文
1WHERE conditionExpressionconditionExpression
conditionExpression では次の構文を使用します。
1fieldExpression [logicalOperator fieldExpression2][...]次の例では、SOQL の SELECT ステートメントの条件式が太字で表されています。
- SELECT Name FROM Account WHERE Name LIKE 'A%'
- SELECT Id FROM Contact WHERE Name LIKE 'A%' AND MailingState='California'
date、dateTime 値、または日付リテラルを使用できます。date 項目と dateTime 項目の形式は異なります。
- SELECT Name FROM Account WHERE CreatedDate > 2011-04-26T10:00:00-08:00
- SELECT Amount FROM Opportunity WHERE CALENDAR_YEAR(CreatedDate) = 2011
CALENDAR_YEAR() などの日付関数についての詳細は、「日付関数」を参照してください。
boolean 値 TRUE および FALSE を SOQL クエリで使用できます。boolean 項目を絞り込むには、次の構文を使用します。
1WHERE BooleanField = TRUE
2
3WHERE BooleanField = FALSEfieldExpression
SOQL クエリに含まれる WHERE 句の項目式の構文は、項目名、比較演算子、および値で構成されます。クエリは、これらのコンポーネントを使用して、項目名の値と、検索対象のレコードとを比較します。
1fieldName comparisonOperator value
fieldExpression が評価される順序を定義するには、括弧を使用します。演算子をネストするときは、括弧を指定する必要があります。ただし、同じ種別の複数の演算子はネストする必要がありません。次の例の式は、fieldExpression1 が true で、fieldExpression2 または fieldExpression3 のいずれかが true の場合、true です。
ただし、次の式は、fieldExpression3 が true であるか、fieldExpression1 と fieldExpression2 の両方が true の場合、true です。
1fieldExpression1 AND (fieldExpression2 OR fieldExpression3)1(fieldExpression1 AND fieldExpression2) OR fieldExpression3