加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

postgresql – 每天选择特定时间范围的时间戳数据

发布时间:2020-12-13 16:04:21 所属栏目:百科 来源:网络整理
导读:我有一个 postgresql表,其中包含一个timestamp类型的列,没有时区.每行增加/减少1分钟,例如: 2015-07-28 01:35:002015-07-28 01:34:002015-07-28 01:33:00......2015-07-27 23:59:002015-07-27 23:58:002015-07-27 23:57:00 我正在尝试编写一个查询,它将选择
我有一个 postgresql表,其中包含一个timestamp类型的列,没有时区.每行增加/减少1分钟,例如:

2015-07-28 01:35:00
2015-07-28 01:34:00
2015-07-28 01:33:00
...
...
2015-07-27 23:59:00
2015-07-27 23:58:00
2015-07-27 23:57:00

我正在尝试编写一个查询,它将选择某个日期范围之间的所有行,但也会在这些日期的特定时间范围内选择,例如:选择08年期间2015-05-20到2015-06-20之间的所有行: 00:00至16:00:00

到目前为止我尝试的所有内容似乎都没有考虑日期时间要求.

解决方法

我不确定我是否理解正确,但是如果您想要指定日期的所有行,但是从时间部分超出08:00到16:00的那些日期排除行,则应执行以下操作:

select *
from the_table
where the_column::date between date '2015-05-20' and date '2015-06-20'
  and the_column::time between time '08:00::' and '16:00:00'

表达式the_column :: date称为强制转换,并将时间戳转换为删除时间信息的日期. the_column :: time提取timestamp列的时间部分.

Between运算符将包括边界(例如,时间精确地在16:00:00的行).如果您不想要,则需要将条件之间的条件更改为相应的>和<条件.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读