You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Salesforce中获取Account对象所有RecordType名称的字符串列表

提取Account对象的RecordType名称

你当前的SOQL查询本身是有效的,但它返回的是RecordType对象的集合。要只获取名称,你需要从这些对象中提取Name字段的值,具体可以这么做:

方法一:遍历集合提取名称

直接遍历查询返回的RecordType列表,将每个对象的Name属性存入字符串列表:

String strQuery = 'SELECT Name FROM RecordType WHERE SobjectType=\'Account\'';
List<RecordType> lstRecordType = Database.query(strQuery);
List<String> recordTypeNames = new List<String>();

for (RecordType rt : lstRecordType) {
    recordTypeNames.add(rt.Name);
}
// recordTypeNames就是所有Account的RecordType名称集合

方法二:简化写法(直接用静态SOQL)

如果不需要动态SOQL的场景,直接用静态查询结合遍历会更简洁:

List<String> recordTypeNames = new List<String>();
for (RecordType rt : [SELECT Name FROM RecordType WHERE SobjectType = 'Account']) {
    recordTypeNames.add(rt.Name);
}

方法三:利用Salesforce集合工具类(简洁版)

如果你的Salesforce版本支持,可以用getSObjectFieldValues方法直接提取字段值,省去循环:

List<String> recordTypeNames = new List<String>(
    [SELECT Name FROM RecordType WHERE SobjectType = 'Account'].getSObjectFieldValues(RecordType.Name)
);

注意:SOQL里可以只查询Name字段,不需要带上SobjectType(除非你后续还要用到这个字段),这样能减少数据传输,提升查询效率。

内容的提问来源于stack exchange,提问作者Hasan Zubairi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.03 05:33:14