Postgres:选择行数(以tstzrange为单位)

时间:2018-07-17 09:55:51

标签: sql postgresql

假设我有一个cases表,其列period的类型为 tstzrange (见下文)

              period
------------------------------------
 ["2018-06-14 21:19:55.802427+02",)
(1 row)

我想做的是查询类型

select count(*) from cases where 
  current_date is in range (period); # this last part is just pseudocode

我想计算current_date(仅日,月,年)等于范围上限的行数。我该怎么办?

我调查了upper_inc(),但不太了解如何在current_date中使用它。

1 个答案:

答案 0 :(得分:0)

您可以使用SELECT '2018-07-17'::date = upper('[2018-07-16 01:00:00,2018-07-17 06:00:00)'::tstzrange)::date 获取上限时间戳,将其转换为日期并进行比较。

IActionResult