19得票3回答
在PostgreSQL中计算两个日期之间的工作小时数。

我正在使用Postgres (PL/pgSQL)开发算法,需要计算两个时间戳之间的工作小时数,考虑到周末不工作,其他日子只从上午8点到下午3点计算。 示例: 从12月3日14:00到12月4日9:00应计为2小时:3rd = 1, 4th = 1 从12月3日下午3点到12月7日上午8...

15得票1回答
在PostgreSQL中执行此操作时间查询

我在RoR堆栈中,必须编写一些实际的SQL来完成此查询,以获取所有“开放”记录,这意味着当前时间在规定的营业时间范围内。在 hours_of_operations 表中,有两个 integer 列 opens_on 和 closes_on 存储一个星期几,还有两个 time 字段 opens_...

13得票3回答
使用PostgreSQL中的EXCLUDE避免相邻/重叠条目

我正在创建一个数据库,用于存储PostgreSQL 9.2.4中任意的日期/时间范围。 我想在这个数据库上设置一个限制条件,强制日期/时间范围不重叠,也不相邻(因为两个相邻的范围可以表示为一个连续范围)。 为了做到这一点,我使用了带有GiST索引的EXCLUDE约束。 这是我目前拥有的约束:...