SOQL日期在where where子句中

时间:2014-09-02 23:45:37

标签: salesforce apex soql

我有一个带有Date字段的自定义对象,我想知道如果该日期字段在当前周内(如果周从星期日开始到星期六结束),您将如何查询该对象。我正在考虑创建两个函数来查找一周的第一天和一周的最后一天的具体日期,并且正在执行:

SELECT Id, MyObjectDate FROM MyObject WHERE MyObjectDate > getWeekStartDate(todaysDate) AND MyObjectDate < getWeekEndDate(todaysDate)

但我觉得有一种更简单的方法。任何提示将不胜感激!

1 个答案:

答案 0 :(得分:1)

使用toStartOfWeek方法获取星期的开始日期。检查this

toStartOfWeek方法返回调用方法的Date的周开始,具体取决于上下文用户的语言环境。例如,一周的开头是Sunday in the United States localeMonday in European locales

  public Date WeekFrom {get; set;}
  public Date WeekTo {get; set;}
  .....
  WeekFrom = todaysDate.toStartofWeek();
  WeekTo = WeekFrom.adddays(6);

  SELECT Id, MyObjectDate FROM MyObject WHERE MyObjectDate > WeekFrom  AND MyObjectDate < WeekTo

希望它可以帮到你