- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在编写接受来自用户的 tsrange 文字的程序的过程中,这些文字随后被插入到各种 SQL 查询中,今天我正在测试一些 tsrange 以查看 PostgreSQL 9.3.5 如何解释它们。
这一个,尤其是行为奇怪:'(-infinity,today)'::tsrange
lower_inf 函数表示下界不是无限的(!)
test=> SELECT lower_inf('(-infinity,today)'::tsrange);
lower_inf
-----------
f
(1 row)
但是 PostgreSQL 报告说这个 tsrange 包含一个像 '1000-01-01 BC' 这样的时间戳。 . .
test=> SELECT '(-infinity,today)'::tsrange @> '1000-01-01 BC'::timestamp;
?column?
----------
t
(1 row)
任何人都可以阐明这一点吗?
最佳答案
混淆源于此处“无限”的两种不同含义。
timestamp
类型接受 special values for infinity
and -infinity
.lower_inf()
and upper_inf()
,但他们实际上是在测试范围内的“无界限”。没有上限/下限的范围包括 值 infinity
/-infinity
for timestamp
分别。Also, some element types have a notion of "infinity", but that is just another value so far as the range type mechanisms are concerned. For example, in timestamp ranges,
[today,]
means the same thing as[today,)
. But[today,infinity]
means something different from[today,infinity)
— the latter excludes the special timestamp valueinfinity
.
也许这些函数真的应该被称为 lower_nobound()
和 upper_nobound()
以避免混淆......
关于PostgreSQL tsrange: lower_inf ('(-infinity,today)'::tsrange) 为假是否正确?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27103608/
在编写接受来自用户的 tsrange 文字的程序的过程中,这些文字随后被插入到各种 SQL 查询中,今天我正在测试一些 tsrange 以查看 PostgreSQL 9.3.5 如何解释它们。 这一个
我有两个表free_time 和appointment。两者都包含 tsranges。 如何编写一个查询(或函数)来确定从 freetime 中“减去”appointment 的差值后的实际空闲时间?
我有两张 table 。 free_time 和 appointment。我想从空闲时间记录中减去所有约会记录。结果将是一组记录,其中还有空闲时间。约会保证存在于 free_time 范围内。我想进行
我有一个 events 表,其中有一个名为 duration 的字段,其类型为 tsrange,用于捕获事件的开始和结束时间这是timestamp类型。我想要的是能够过滤特定日期范围内的所有事件,然后
我想在 PostgreSQL 数据库的迁移中创建列 tsrange。有没有办法在 Laravel 迁移中做到这一点?如何指定这种列? 最佳答案 你可以使用这个库:https://github.com/
我想在 Postgresql TSRANGE 类型中插入一个无界范围,根据文档,您将无界边设置为空。所以我有 INSERT INTO MyTable(Id, DateRange) VALUES('8C
是否可以构建一个动态 tsrange 并检查值是否在其中? 我有一个包含两个字段的表,session_start 和 session_end,我想运行一个查询来检查传递的值是否介于这两个值之间。这些方
我正在尝试在 postgresql 查询中创建一个 tsrange(上周四到上周四),但出现转换错误。 这是我到目前为止所得到的(从 this SO question 开始)。 WITH past_w
我正在使用 DBD::Pg 尝试创建一个带有绑定(bind)变量的插入语句,其中一个是 tsrange。我不断收到语法错误,有人可以解释一下正确的方法吗? 来自 perl 脚本: $sth->{'in
我在 PostgreSQL 中保存 tsrange 类型的值时遇到问题,当时只有一个时间间隔是夏令时并且时间间隔小于 1 小时。 例如我想保存一个45分钟长的时间范围["2013-03-09 01:3
我有一个带有 tsrange column 的 Postgres 表,我想将其包含在我的 Ecto 模块的 schema 中。我看到了 Postgrex.Range exists .我试过这个: sc
我遵循了出色的指南 How to map Java and SQL arrays with JPA and Hibernate将特殊的 sql 类型 tsrange 映射到 hibernate 。我决
我正在为供应商提供的本地服务建模(在 Postgres 9.6.1/postGIS 2.3.1 中): create table supplier ( id se
我想在 sql 中建立一个本质上看起来像这样的索引: CREATE INDEX IF NOT EXISTS new_index ON schema.tablename USING gist (tsra
我正在尝试使用 vanilla Rails 迁移将 daterange 类型的列更改为 tsrange(我意识到我需要时间和日期) def self.up change_column :event
我是一名优秀的程序员,十分优秀!