2

For tests proposes, I need to get the current system date. On Oracle we could use:

SELECT SYSDATE FROM DUAL

On SQL SERVER, we can use:

SELECT GETDATE() AS CurrentDateTime

How to query the system date time using SOQL?

Thanks.

  • Question title does not match accepted answer. I want to know the SOQL way too, not the APEX. – Ray Cheng Jun 18 at 18:25
  • Hi @RayCheng, I just posted another answer that might give you another option. – Matheus Goncalves Jun 19 at 19:18
7

You don't need to use SOQL. You can just create a new DateTime and set it to the current date and time like below

DateTime myDateTime = system.now();

Or if you only want the date, then

Date myDate = system.today();
  • 4
    More specifically, SOQL is not SQL. You can't create tables, add indexes, update rows, ad hoc functions, nothing. It's strictly for getting data. I wish the documentation would come right out and say that. – sfdcfox Feb 10 '15 at 18:46
4

Alternatively, there is a method System.currentTimeMillis() that returns the current time in milliseconds.

From that, you can create a new DateTime with the DateTime.newInstance(Long) method:

Long longtime = System.currenTimeMillis();
DateTime dt = DateTime.newInstance(longtime);
  • One of those rare times on the SFSE where there are actually two completely different answers. ;) I prefer and use your method. This is just another way. – Peter Knolle Feb 10 '15 at 23:32
  • I use my way more often as well, but I think knowing multiple ways to do things is always helpful. I wasn't aware you could do it this way, love learning new things. Everyday is a school day ;) – Chris Duncombe Feb 10 '15 at 23:39
1

If you cannot use Apex, and need to use SOQL only, then binding is not allowed. Which means you cannot use system.now();

With that in mind, you can use Date Literals, such as YESTERDAY, TODAY, TOMORROW, and so on.

Eg:

SELECT CreatedDate FROM Account WHERE CreatedDate <= TODAY
SELECT CreatedDate FROM Account WHERE CreatedDate <= YESTERDAY

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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