2

ページネーションを実装するために 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 か月分のデータに制限したいと考えています。その結果セットを取得したら、オプションによるフィルタリングを追加したいと考えています。

助けてくれてありがとう。

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 に答える