2012-02-09 121 views
0

並感謝您花時間查看我的帖子。當LastModifiedDate與兩個日期進行比較時,Salesforce SOQL查詢不返回行

我想檢索兩個日期之間修改的聯繫人列表(LastModifiedDate> = Date1和LastModifiedDate < = Date2)。當我查詢我收到0行。如果我只拿出第二部分(LastModifiedDate < = Date2),我收到很多。

這裏是我的代碼和調試日誌 - 先用兩個日期:

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 

歡迎任何建議。

+3

我剛剛嘗試過您的查詢,因爲它違背了我的組織結構並收回了行。你確定你確實有聯繫人在該日期範圍內? – ryanbrainard 2012-02-09 18:32:10

+0

@rbrainard是的 - 請參閱調試。後來的日期是當前日期(或者當我運行查詢時)。當我以500個批次運行它時,第一批幾千人都在第一次約會。 – hgolov 2012-02-12 19:08:54

+0

我只想確認我可以將您的第一塊代碼在Force.com控制檯中'按原樣'運行,然後獲取數據。對一個日期的調試顯示,在第一次日期之後有行,但如果對「當前」日期之前修改的所有行運行它,會返回多少行?嘗試僅使用其他日期運行它,看看會發生什麼。 – 2012-02-13 17:03:17

回答

0

它剛開始工作,沒有任何變化,在我的結束。

感謝大家的幫助。

相關問題