Salesforce(apex) 使用 Where toLowerCase 查询 select

Salesforce(apex) Query select with Where toLowerCase

我使用 Salesforce (apex),我需要使用带有 toLowerCase 的 WHERE 语句进行查询,即我有一个包含小写值的列表 (MyNames_list),但 table 值不是小写的。

在我的查询中,当我检查 MyNames_list 中的名称时,它将生成 toLowerCase 值,然后在 MyNames_list.

中检查它

像这样:

Name | LastName

BOBY | Testovich1

DANY | Testovich2

Ron  | Testovich3

在我的列表中:

MyNames_list :boby,dany,ron

这仍然会 return 我所有的行,因为 WHERE 语句将使用小写来检查它。

//仅示例(不是工作代码)

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

有没有办法在 Salesforce (apex) 查询中执行此操作?

Salesforce 仅对明确区分大小写的字段区分大小写(即已标记为区分大小写的外部 ID)

您正在查询的字段 Name 不区分大小写 - 因此,您不需要应用 toLowerCase()。无论如何,您将获得所有匹配的字段。

所以您的查询可以是:

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