function readOnly(count){ }
Starting November 20, the site will be set to read-only. On December 4, 2023,
forum discussions will move to the Trailblazer Community.
+ Start a Discussion
NKrishnaNKrishna 

How to format/use date field in SOQL query?

Hi,

How to use date field in SOQL query?

Here is my code:

 

string OpportunityQuery;
OpportunityQuery = 'SELECT Name, Id FROM Opportunity WHERE ';
OpportunityQuery += 'OwnerId = \''+ FromUser + '\'';
OpportunityQuery += ' AND ';

OpportunityQuery +=  'AccountId = \''+ DealerId + '\'';
system.debug('Decision_Date__c ' + ObjOpportunity.Decision_Date__c);
system.debug('Application_Date__c ' + ObjOpportunity.Application_Date__c);

date FromDate = Date.newInstance(ObjOpportunity.Decision_Date__c.year(),ObjOpportunity.Decision_Date__c.month(),ObjOpportunity.Decision_Date__c.day());
date ToDate = Date.newInstance(ObjOpportunity.Application_Date__c.year(),ObjOpportunity.Application_Date__c.month(),ObjOpportunity.Application_Date__c.day());

if(Selection == 'BookDate') {
    OpportunityQuery += ' AND ';
    OpportunityQuery += 'CloseDate >= '+ FromDate;
    OpportunityQuery += ' AND ';
    OpportunityQuery += 'CloseDate <= '+ ToDate;     
}

if(AppType == 'Booked') {
    OpportunityQuery += ' AND ';
    OpportunityQuery += ' IsWon = true ';    
}
OpportunityList = database.query(OpportunityQuery);
system.debug('OpportunityList: '+ OpportunityList);

 

 

System debug:

SELECT Name, Id FROM Opportunity WHERE OwnerId = '00530000003Ks0yAAC' AND AccountId = '001Q000000QtH1BIAV' AND CloseDate >= 2012-03-02 00:00:00 AND CloseDate <= 2012-03-23 00:00:00

The above code shows the below error.

System.QueryException: line 1:144 no viable alternative at character ' '

Thanks,
Krishna.

Best Answer chosen by Admin (Salesforce Developers) 
steve456steve456

SELECT Name, Id FROM Opportunity WHERE OwnerId = '00530000003Ks0yAAC' AND AccountId = '001Q000000QtH1BIAV' AND CloseDate >=2012-03-02  AND CloseDate <=2012-03-23 

 

 

give it this way it will work