过滤了13个月

时间:2013-07-11 13:26:59

标签: salesforce apex-code

我有一个使用standardSetController来实现分页的控制器。我想按照过去13个月的交易日期进行筛选。 Last_N_Months的日期文字没有过滤器: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个月的数据。一旦我有了结果集,我想按选项添加过滤。

感谢您的帮助。

2 个答案:

答案 0 :(得分:2)

尝试使用以下代码过滤日期范围 - 您可以以编程方式计算确切的日期范围

 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]);

答案 1 :(得分:0)

按日期过滤,您有LAST_90_DAYS或LAST_N_DAYS:90这样

SELECT Id FROM Account WHERE CreatedDate = LAST_N_DAYS:90

link

中的详细信息

是的,在一个查询中检索的总数是2000