2016-09-18 10 views
2

私はSalesforce(apex)を使用しているため、toLowerCaseを使用してWHEREステートメントでクエリする必要があります。 LowerCaseの値を持つリスト(MyNames_list)がありますが、テーブルの値はlo​​werCaseではありません。Salesforce(apex)クエリの選択where toLowerCase

私の質問では、MyNames_listのNameをチェックすると、toLowerCaseの値が作成され、MyNames_listにチェックインされます。

このような何か:

Name | LastName 

BOBY | Testovich1 

DANY | Testovich2 

Ron | Testovich3 

と私のリストで:

MyNames_list:WHERE文のため、まだ、私のすべての行を返しますBOBY、ダニー、ロン

にLowerCaseでチェックします。

//唯一の例(動作していないコード)

for(Users user:[SELECT Name,LastName FROM Users 
       WHERE (Name.toLowerCase() IN : MyNames_list) ]) 
{ 
    //code.... 
} 

は、Salesforce(頂点)のクエリでこれを行う方法はありますか?

答えて

3

Salesforceは、明示的に大文字と小文字が区別されますフィールドに対してのみ大文字と小文字が区別されます(つまり、大文字と小文字を区別としてマークされている外部ID)

あなたが照会されているフィールド、Nameは大文字と小文字を区別しません - それ故にtoLowerCase()を適用する必要はありません。とにかくすべての一致するフィールドを取得します。

だからあなたのクエリは次のようになります。

for(User u:[SELECT Name,LastName FROM User WHERE Name IN :MyNames_list)]){ 
//code.... 
} 
+0

i「はBOBY」を探します場合は意味、そしてテーブルにそれがBOBYは "WHERE文はまだ定期的に照会して、それを見つけるである - >(WHERE名前IN ....)? –

+0

そうですね! –

+0

ありがとうございます。 –

関連する問題