Я использую этот запрос, чтобы получить объекты, перекрывающие период между " start_date " и " end_date ", более того, я хотел бы получить объекты с датами end на start_date и объекты начинаются с конечной даты .
Я использую
where("(start_date, end_date) overlaps (date ?, date ?), start_date, end_date"
Но у объектов есть даты <= start_date </strong> или > = end_date is not get.
Это «перекрытие» позволяет получить только объекты, имеющие даты start_date <даты <end_date </strong>, а не «=».
Например, start_date = '2011/2/1', end_date = '2011/3/31'. Объекты с датой окончания «2011/2/1» или началом «2011/3/31» не будут получены, будут получены только даты между «2011/2/1» и «2011/3/31». как включить объекты с датой окончания в start_date и начать в end_date?
---------------------- Редактировать --------------------- -------
Я пытаюсь использовать:
where("(start_date, end_date) overlaps (date ?, date ?), start_date-1.day, end_date+1.day"
, чтобы решить проблему, но когда я делаю, как указано выше, если start_date = '2011/2/1', end_date = '2011/3/31', тогда объекты содержат '2011/1/31', а также возвращает Предполагается, не должно быть получить.