2011-03-08 124 views
6

如何制作这样的SOQL查询?SOQL查询WHERE日期= 30_days_ago?

SELECT id FROM Account WHERE LastActivityDate = 30_DAYS_AGO 

这将产生一个错误:

MALFORMED_QUERY: 
Account WHERE LastActivityDate = 30_DAYS_AGO 
        ^
+0

您是在Web服务调用中还是在Apex代码中执行此查询?如果这是在Apex中,superfell的答案是正确的。 – 2011-03-09 19:22:40

+0

通过web服务,但我只是在程序中声明日期并将其作为字符串作为特定日期传递给查询。 – 2011-03-09 20:23:29

+2

我以为你使用顶点,因为你用顶点标记了问题。 – superfell 2011-03-10 06:54:33

回答

12

正如你从顶点这样做,你可以计算顶点的日期,然后绑定该到你的查询,例如

date d = system.today().addDays(-30); 
Account [] acc= [select id from account where createdDate = :d]; 
14
SELECT id FROM Account WHERE LastActivityDate = LAST_N_DAYS:30 
7
Select Id from Account Where LastActivityDate = N_DAYS_AGO:30 
+0

我们没有N_DAYS_AGO:30的salesforce – C0DEPirate 2017-10-31 14:21:33