Salesforce Stack Exchange is a question and answer site for Salesforce administrators, implementation experts, developers and anybody in-between. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

This question already has an answer here:

The SF doc explains how to put a Datetime query in a SOQL query.

FROM Account
WHERE CreatedDate > 2005-10-08T01:02:03Z

I need to just put in a date for this query. Something like:

FROM Account
WHERE CreatedDate > 2005-10-08

But that throws an error. Any ideas?

share|improve this question

marked as duplicate by Ralph Callaway, Daniel Blackhall, eyescream, Saariko Feb 28 '13 at 8:40

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.

up vote 14 down vote accepted

CreatedDate is a datetime field so I guess you would need to specify the time component.

Can you do something like where you just append the time portion to be 12 am by default.

WHERE CreatedDate > 2005-10-08T00:00:00Z

Or you can use Date Literals like


For more on date formats and more literal values see,

share|improve this answer

To filter a SOQL query on a datetime field with a day value, use the DAY_ONLY SOQL operator.

FROM Account
WHERE DAY_ONLY(CreatedDate) > 2005-10-08

You can bind a date variable into the SOQL Query as well, but the results might not be what you expect as there the date variable would be cast into a DateTime type at run time.

share|improve this answer

If you want to avoid date manipulation with Apex, you could also create a custom date formula field and query off that field. Your formula would look like this:


Then just query off your custom field.

Let me know if you have any questions.

share|improve this answer

Not the answer you're looking for? Browse other questions tagged or ask your own question.