问题标签 [range-types]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
15385 浏览

sql - 计算 PostgreSQL 中两个日期之间的工作时间

我正在使用 Postgres (PL/pgSQL) 开发一种算法,我需要计算 2 个时间戳之间的工作小时数,同时考虑到周末不工作,其余时间仅从上午 8 点到下午 15 点计算。

例子:

  • 从 12 月 3 日下午 14 点到 12 月 4 日上午 9 点应该算 2 小时:

    /li>
  • 从 12 月 3 日下午 15 点到 12 月 7 日上午 8 点应该算 8 小时:

    /li>

考虑小时分数也很好。

0 投票
1 回答
890 浏览

sql - 用于范围查找的快速表索引

我有一个大约 450 万行的 Postgres 表。列基本上只是

当您查询此表时,您有一个长整数,并希望找到与low包含high该值的范围相对应的数据。索引此表以进行快速查找的最佳方法是什么?

0 投票
1 回答
2333 浏览

ruby-on-rails - 如何使用 Rails 在 PostgreSQL 中创建日期范围

我正在使用 Rails 3.2.7 和 Postgres 9.2 尝试创建日期范围

这是我创建它的方式

这是结果查询和错误:

我怎样才能使这项工作?

0 投票
2 回答
213 浏览

d - D 中的 Ada 风格范围类型

在阅读了这篇关于 Ada 和 C++ 的有趣文章并了解了 D 对 CTFE 和函数的常量参数专业化的支持之后,我想知道在 D 中是否可以比在 C++ 中更容易/更有效地实现 Ada 样式范围类型。有没有人可能已经写过这样的图书馆?

如果这样的范围可以在 D 中有效地实现并且对开发人员友好,它可以用作在需要确定性以及类型和内存安全性(D 已经大放异彩)的领域(例如航空电子和汽车)建立 D 的推动者。D 将因此获得更多开发者的兴趣和更强大的财务支持。

0 投票
3 回答
5516 浏览

sql - 加入范围的最佳方式?

我认为这可能是一个常见问题,可能无法对每个工具都有答案。现在我们正在尝试使用亚马逊 Redshift。我们现在唯一的问题是我们正在尝试查找 IP 地址的邮政编码。我们拥有的将 IP 连接到城市的表是 IP 转换为整数的范围。

例子:

我已经在 intip >= startip 和 intip < endip 上尝试了明显的内部连接。

有谁知道这样做的好方法?

0 投票
3 回答
4929 浏览

sql - 在 PostgreSQL 中使用 EXCLUDE 防止相邻/重叠条目

我正在创建一个在 PostgreSQL 9.2.4 中存储任意日期/时间范围的数据库。我想在这个数据库上设置一个约束,强制日期/时间范围不重叠,也不相邻(因为两个相邻的范围可以表示为一个连续的范围)。

为此,我使用了EXCLUDE带有 GiST 索引的约束。这是我目前的约束:

fromto都是TIMESTAMP WITHOUT TIME ZONE, 并且是存储在 UTC 中的日期/时间(我在将数据插入应用程序中的这些列之前转换为 UTC,并且我在 postgresql.conf 中将数据库的时区设置为“UTC”)。

不过,我想我可能遇到的问题是,这个约束正在做出(不正确的)假设,即没有小于一秒的时间增量。

值得注意的是,对于我存储的特定数据,我只需要第二个分辨率。但是,我觉得我可能仍然需要处理这个问题,因为 SQL 类型timestamptimestamptz分辨率都高于一秒。

我的问题是:简单地假设第二个解决方案有什么问题,因为这就是我的应用程序需要(或想要的),或者,如果有,我如何改变这个约束来处理几分之一秒健壮的方式?

0 投票
2 回答
155 浏览

sql - 使用一项选择每天计算访问次数

我的 PostgreSQL 中有这张表:

有了这个数据:

我需要知道每天有多少用户访问我的商店。如果用户每天访问商店两次,则应计算两次。

在上面的例子中应该是。

0 投票
1 回答
5220 浏览

sql - 在 PostgreSQL 中执行此营业时间查询

我在 RoR 堆栈中,我必须编写一些实际的 SQL 来完成对所有“打开”记录的查询,这意味着当前时间在指定的操作小时内。在hours_of_operations表中,两integeropens_on分别closes_on存储一个工作日,两个time字段opens_at分别closes_at存储一天中的时间。

我做了一个查询,将当前日期和时间与存储的值进行比较,但我想知道是否有办法转换为某种日期类型并让 PostgreSQL 完成剩下的工作?

查询的内容是:

如此密集的复杂性的原因是一个小时的操作可能会在周末结束,例如,从周日中午开始到周一早上 6 点。由于我以 UTC 存储值,因此在许多情况下,用户的本地时间可能会以一种非常奇怪的方式换行。上面的查询确保您可以在一周中输入任意两次,并且我们会补偿包装。

0 投票
1 回答
2484 浏览

postgresql - 匹配 PostgreSQL 9.3 中的重叠日期范围值

是否可以匹配重叠的数据范围(数据类型:日期范围)值?

例如,两个包含 daterange 列的表,一个 daterange 列 (table1.c1) 具有包含 1 年周期的 daterange 值,而另一个 daterange 列 (table2.c2) 具有包含 20 年周期的 daterange 值。

如何匹配table1中'c1'的日期范围与table2中'c2'的日期范围重叠的行?

我曾尝试使用 OVERLAPS 函数,但这会导致语法错误。

我正在使用 PostgreSQL 9.3。

0 投票
1 回答
143 浏览

sql - 纯 SQL / PostgreSQL 中的元查询过程

鉴于以下情况:

编辑 - 添加示例数据行

filters 表由一系列按 id 分组的过滤器组成。

我想将一组特定的过滤器(即filters.id = 99)应用于数据表,其中每一行过滤器将filters.range应用于与filters.name匹配的数据列。

最初,该模式在过滤器和数据中包含 1:1 列重复,因此可以使用 filters.col3 = data.col3 或通过范围比较来完成连接。问题是我知道有超过 1000 个过滤器我想在过滤器表中跟踪并应用于数据表。

尝试了一些谷歌搜索,但不知道如何表达这类问题。我知道我可以只用外部语言形成查询,但如果可能的话,我想在纯 SQL/PostgreSQL 中执行它。