Rails / MySQL CURDATE查询同时创建和更新

时间:2012-07-19 15:25:21

标签: mysql ruby-on-rails

嗨,伙计们,我真的很喜欢sql,所以请对我这个温柔。我正在尝试运行一个查询,该查询将在过去两周内提取所有已创建create_at或updated_at的记录。

我做了一些阅读,这是我到目前为止

SELECT * FROM sms_development.scores WHERE DATE(created_at) = CURDATE() - INTERVAL 14 DAY AND CURDATE() OR DATE(updated_at) = CURDATE() - INTERVAL 14 DAY AND CURDATE();

这看起来非常巨大而且根本不干燥。并且由于某种原因它不起作用。如果我将它输入MySQL工作台,它会给我一个绿灯,但我不知道我是否犯了一个错误的错误。但没有记录。

非常感谢任何有用的建议或技巧

1 个答案:

答案 0 :(得分:0)

你应该尽可能多地通过Rails查找器做到这一点;它们至少可以部分移植到其他数据存储引擎,所以如果你从SQLite切换到Postgres,你将不必重写(尽可能多)代码。

我会这样做:

Score.where('created_at > ? OR updated_at > ?', DateTime.now - 2.weeks, DateTime.now - 2.weeks).all