【问题标题】:Salesforce SOQL query not returning rows when LastModifiedDate is compared to two dates将 LastModifiedDate 与两个日期进行比较时,Salesforce SOQL 查询不返回行
【发布时间】:2012-02-09 07:21:38
【问题描述】:

感谢您花时间查看我的帖子。

我正在尝试检索在两个日期(LastModifiedDate >= Date1 AND LastModifiedDate

这是我的代码和调试日志 - 首先是两个日期:

DateTime myDate = DateTime.parse('10/05/2011 00:00 AM');
DateTime myLastDate = DateTime.valueOf('2012-02-7 05:04:25');
System.debug('the first date:' + String.valueOf(myDate) + ' and the last date: ' + String.valueOf(myLastDate));
List<Contact> cList = [select id, FirstName, LastName, LastModifiedDate  FROM Contact WHERE Email <> '' AND Email <> null AND LastModifiedDate >= :myDate and lastModifiedDate <= :myLastDate];
system.debug('num cons' + cList.size());

调试

19:19:14.042 (42468000)|USER_DEBUG|[3]|DEBUG|the first date:2011-10-05 00:00:00 and the last date: 2012-02-07 05:04:25
19:19:14.042 (42478000)|SYSTEM_METHOD_EXIT|[3]|System.debug(ANY)
19:19:14.042 (42682000)|SOQL_EXECUTE_BEGIN|[4]|Aggregations:0|select id, FirstName, LastName, LastModifiedDate FROM Contact  WHERE  Email <> '' AND Email <> null  AND LastModifiedDate >= :myDate and lastModifiedDate <= :myLastDate
19:19:18.055 (4055043000)|SOQL_EXECUTE_END|[4]|Rows:0

现在只有一个日期

DateTime myDate = DateTime.parse('10/05/2011 00:00 AM');
DateTime myLastDate = DateTime.valueOf('2012-02-7 05:04:25');
System.debug('the first date:' + String.valueOf(myDate) + ' and the last date: ' + String.valueOf(myLastDate));
List<Contact> cList = [select id, FirstName, LastName, LastModifiedDate  FROM Contact WHERE  Email <> '' AND Email <> null   AND LastModifiedDate >= :myDate ];
system.debug('num cons' + cList.size());

调试:

19:20:55.039 (39038000)|USER_DEBUG|[3]|DEBUG|the first date:2011-10-05 00:00:00 and the last date: 2012-02-07 05:04:25
19:20:55.039 (39045000)|SYSTEM_METHOD_EXIT|[3]|System.debug(ANY)
19:20:55.039 (39249000)|SOQL_EXECUTE_BEGIN|[4]|Aggregations:0|select id, FirstName, LastName, LastModifiedDate FROM Contact   WHERE  Email <> '' AND Email <> null  AND LastModifiedDate >= :myDate
19:21:06.555 (11555339000)|SOQL_EXECUTE_END|[4]|Rows:21784

欢迎提出任何建议。

【问题讨论】:

  • 我刚刚针对我的组织尝试了您的查询并获得了回复。您确定您确实有该日期范围内的联系人吗?
  • @rbrainard 是的 - 请参阅调试。较晚的日期是当前日期(或者是我运行查询时的日期)。当我以 500 个批次运行它时,前几千个都在第一次约会。
  • 我还想确认我可以获取您的第一个代码块,在 Force.com 控制台中“按原样”运行它,然后取回数据。您对一个日期的调试显示在第一个日期之后有行,但是如果您对“当前”日期之前修改的所有行运行它,则返回多少行?尝试仅使用其他日期运行它,看看会发生什么。
  • @RyanElkins 我得到了超过 50,000 个限制。但我只是再次尝试(第 1000 次)并且成功了。感谢您的宝贵时间。

标签: date salesforce between soql


【解决方案1】:

它刚刚开始工作,我没有任何改变。

感谢大家的帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-01
    • 1970-01-01
    • 2015-11-29
    • 2021-02-06
    • 1970-01-01
    相关资源
    最近更新 更多