salesforce开发之 多选选项列表(multipicklist)作为查询条件的记录及思考

2022-08-01 15:24:49 浏览数 (2)

在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)';

0 人点赞