我有一个名为 time_range 的字段,它是日期范围类型。
我的表名为“holidays”。我想获取当前处于假期中的所有用户。如何使用 daterange 类型来实现这一点?
我尝试过这个但是没有用。
SELECT time_range FROM holidays WHERE upper(time_range) > NOW() AND lower(time_range) < NOW()
我有一个名为 time_range 的字段,它是日期范围类型。
我的表名为“holidays”。我想获取当前处于假期中的所有用户。如何使用 daterange 类型来实现这一点?
我尝试过这个但是没有用。
SELECT time_range FROM holidays WHERE upper(time_range) > NOW() AND lower(time_range) < NOW()
什么叫不工作?
无论如何,我假设您的查询不起作用是因为时间范围可能与现在的日期相同。
在您的查询中您应该输入 <= 和 >=。
解决方案: SELECT time_range FROM holidays WHERE upper(time_range) >= NOW() AND lower(time_range) <= NOW()
或者您可以简化查询 SELECT time_range FROM holidays WHERE time_range @> NOW();