Salesforce 按过去13个月过滤

Salesforce 按过去13个月过滤,salesforce,apex-code,Salesforce,Apex Code,我有一个使用standardSetController实现分页的控制器。我想过滤过去13个月的交易日期。日期文字在最近\N\u个月之前没有筛选器:N 有没有办法过滤过去13个月的数据 以下是我当前的查询: setCtrl = new ApexPages.StandardSetController(Database.getQueryLocator([select TransactionType__c, TradeDate__c, ShareClass__c, SettlementDate__c,

我有一个使用standardSetController实现分页的控制器。我想过滤过去13个月的交易日期。日期文字在最近\N\u个月之前没有筛选器:N

有没有办法过滤过去13个月的数据

以下是我当前的查询:

setCtrl = new ApexPages.StandardSetController(Database.getQueryLocator([select TransactionType__c, TradeDate__c, ShareClass__c, 
SettlementDate__c, Name, Fund__r.Name, Fund__r.Id, FirstTransaction__c, DCPosition__c, DBR__r.Name, DBR__r.Id, DBR__c, 
Amount__c from Transaction__c where DBRPrimaryContact__r.Contact__c =: con.Id ORDER BY TradeDate__c ASC]));
如果我不能按13个月进行筛选,那么查询中可以返回的记录总数是多少?是2000年吗?这个对象可能有大量的记录,我想将结果限制为13个月的数据。一旦我有了结果集,我想添加过滤选项


感谢您的帮助。

根据您最后90天或最后90天的日期进行筛选,如下所示

SELECT Id FROM Account WHERE CreatedDate = LAST_N_DAYS:90
更多信息在此


是的,在一次查询中检索到的总数是2000,请尝试下面的代码筛选日期范围-您可以通过编程计算精确的日期范围

 DATE d1 = date.today();
 Date d2 = d1.addMonths(-13);
 Integer d3 = d2.daysBetween(d1);
 System.debug('*************' + [SELECT Id FROM Account WHERE CreatedDate >= :d2 AND   CreatedDate <=:d1]);
dated1=DATE.today();
日期d2=d1。添加月份(-13);
整数d3=d2。介于(d1)之间的天数;

System.debug('*********'+[从CreatedDate>=:d2和CreatedDate的帐户中选择Id,谢谢你的回答。我可能没有正确地问我的问题。我已经查看了所有可用的日期文本。有没有办法只返回最后13个月?很抱歉,我出于某种原因想到了3个月:)所以只需使用LAST_N_DAYS:403,它将使您持续大约13个月