Apex动态SOQL日期绑定+天

时间:2014-03-10 19:21:32

标签: soql apex

我可以使用以下方式评估今天的日期:

String timeframe = DateTime.newInstance(Date.today(),Time.newInstance(0,0,0,0))。format('yyyy-dd-MM');

但我需要为此添加几天。所以我想:

String timeframe = DateTime.newInstance(Date.today()**.addDays(10)**, Time.newInstance(0, 0, 0, 0)).format('yyyy-dd-MM');

query += ' and (created_date__c <= ' + timeframe + ')';

但是我收到了这个错误:第1行:392字符'2'没有可行的选择

我也尝试过:

DateTime refDate1 = DateTime.newInstance(System.today().year(), System.today().month(), System.today().day(), 0, 0, 0);

DateTime refDate2 = refDate1.addDays(-10);

query += ' and created_date__c <= '+ refDate1.date() + ' and created_date__c >= ' + refDate2.date();

投掷:第1:405行在角色'

中没有可行的选择

请帮忙!

1 个答案:

答案 0 :(得分:0)

我使用我已经尝试的代码解决了这个问题,这让我觉得我的soql字符串开头有问题。

String timeframe = DateTime.newInstance(System.today().addDays(-10), 
Time.newInstance(0, 0, 0,0)).format('yyyy-dd-MM');

whereClause += ' and (';
whereClause += 'created_date__c >= ' + timeframe;
whereClause += ' OR sourced_date__c >= ' + timeframe;
whereClause += ' OR last_phone_bank_call_date__c >=' + timeframe; 
whereClause += ')';