2012-02-09 5 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 ]; 
system.debug('num cons' + cList.size()); 

디버그와 지금

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 

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

+0

@rbrainard 예 - 디버그를 참조하십시오. 나중의 날짜가 현재 날짜 (또는 내가 쿼리를 실행 한 시점)입니다. 500 번 배치로 실행하면 처음 몇 천 명이 모두 첫 데이트에있게됩니다. – hgolov

+0

첫 번째 코드 블록을 Force.com 콘솔에서 '있는 그대로'실행하고 데이터를 다시 가져올 수 있는지 확인하기를 원합니다. 한 날짜에 대한 디버그는 첫 번째 날짜 이후의 행이 있음을 보여 주지만 "현재"날짜 이전에 수정 된 모든 행에 대해 실행하면 얼마나 많은 행이 반환됩니까? 다른 날짜로만 실행 해보고 무슨 일이 일어나는지보십시오. –

답변

0

방금 ​​내 작업을 변경하지 않고 작업을 시작했습니다.

도움을 주신 모든 분들께 감사드립니다.