在soql查询中,如果选项列表是个多选该怎么作为where条件查询呢?
INCLUDES 关键字!
首先我们知道 多选选项列表(multipicklist)在数据库里以分号分割的形式存储的。例如:Country__c : 中国;美国;加拿大
有了INCLUDES关键字 我们可以在where条件加上下列三种形式:
1 Country__c INCLUDES (‘中国’) 存在中国
2 Country__c INCLUDES (‘中国’,‘美国’) 中国美国匹配任意一个 相当于||
3 Country__c INCLUDES (‘中国;美国’) 中国美国必须同时匹配 相当于&&
在代码里,常常以动态的形式出现
举例:
String Country = String.join( new List<String>{‘中国’,‘美国’} ,‘;’);
if (Country != null) sqlStr = ’ AND Country__c INCLUDES (:Country)';