我在数据库中有一个电影表,其中包含发布日期的月份和年份的单独列(整数)。
我希望所有电影的发布日期为2016年9月9日至2017年2月。
由于其他不需要的结果,此查询无法正常工作:
__str__
如何查询制作月份和月份对年?
答案 0 :(得分:1)
以这种方式存储日期是一项非常糟糕的设计决策(如果您不存储实际日期值)。
因此,要么进行数据迁移,要么创建一个日期列,这对于查询来说是微不足道的,或者做一个大屁股条件查询:
SELECT movies.*
FROM movies
WHERE month = 9 AND year = 2016 OR
month = 10 AND year = 2016 OR
...
month = 2 AND year = 2017
要在activerecord中构建此查询,您可以使用this answer(特定于rails-5)。