查看日期范围并查找是否可用

时间:2018-12-01 17:43:52

标签: postgresql datetime activerecord ruby-on-rails-5

我从Sat, 01 Dec 2018 02:45:00 UTC +00:00Sun, 02 Dec 2018 02:45:00 UTC +00:00,但我想搜索从Sat, 01 Dec 2018 05:15:00 UTC +00:00Sat, 01 Dec 2018 06:45:00 UTC +00:00的可用性,这在先前的保留之内,显然该保留是不可能的,因为它已经预订。

不幸的是,当我查询时它可用,因为它没有碰到保留日期的任何日期。

如何查询返回当前预订的信息?

我正在使用Rails 5 Postgres数据库。

reserved Initial date |-------------------------| reserved final date
      search Initial Date|-----------|search final Date

1 个答案:

答案 0 :(得分:1)

您可以使用OVERLAPS运算符

..WHERE (availability_start, availability_end) 
          OVERLAPS (reservation_from, reservation_to) IS FALSE

Date/Time Functions and Operators