2

我有使用标准集控制器来实现分页的控制器。我想按过去 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 个月的数据。获得该结果集后,我想按选项添加过滤。

谢谢你的帮助。

4

2 回答 2

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]);
于 2013-07-11T15:46:00.673 回答
0

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

SELECT Id FROM Account WHERE CreatedDate = LAST_N_DAYS:90

此链接中的更多信息

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

于 2013-07-11T13:32:12.327 回答