Rails sql查询两个日期之间的差异超过2周

时间:2017-03-22 09:55:22

标签: mysql sql ruby ruby-on-rails-5

我有一个包含2列“date_from”和“date_to”的表。我必须在“date_to” - “date_from”==“2周”内返回结果的查询。

这样的事情:

  

User.where('date_to - date_from == 2.weeks').

2 个答案:

答案 0 :(得分:1)

在用户上定义:

def self.two_weeks
   where(date_to: date_from + 2.weeks)
end

然后你可以拨打User.two_weeks

如果您愿意,也可以作为范围来完成:

scope :two_weeks, -> { where(date_to: date_from + 2.weeks) }

无论如何,将这些东西保留在模型上是件好事,这样如果需要调整它们就可以在一个地方更改它们

答案 1 :(得分:0)

这应该适用于mysql至少

User.where('1 + DATEDIFF(date_to, date_from) >= 14')