基于时间间隔的Postgresql时间差

基于时间间隔的Postgresql时间差,postgresql,Postgresql,我有一个表,time\u slots,它有一列start\u time。Myusers表中有一列,hours\u before(int),它是在开始时间接收通知之前的小时数 我每5分钟运行一次作业,检查具有开始时间的时间段,该时间段现在比早+小时。我的所有日期时间都存储在UTC中。我找不出正确的where子句来获得适当的时间段 现在,我将当前时间作为字符串传递给UTC,而不是在时区“UTC”执行类似于current\u timestamp的操作。 (提取(从开始的历元)-提取(从日期'2020-

我有一个表,
time\u slots
,它有一列
start\u time
。My
users
表中有一列,
hours\u before
(int),它是在
开始时间
接收通知之前的小时数

我每5分钟运行一次作业,检查具有
开始时间的时间段,该时间段现在比
早+
小时。我的所有日期时间都存储在UTC中。我找不出正确的
where
子句来获得适当的时间段

现在,我将当前时间作为字符串传递给UTC,而不是在时区“UTC”执行类似于
current\u timestamp的操作。

(提取(从开始的历元)-提取(从日期'2020-11-09 06:20:00'+(users.hours\u之前*间隔'1小时'))=0
下面是一个测试查询,用于查看
select
中的值。在本例中,
(6*间隔“1小时”)
将是
用户的位置。我在修补时使用了静态
6

选择
(摘录(从“起始点”开始的历元)-摘录(从日期“2020-11-09 06:20:00”)开始的历元/3600小时,
(摘录(从“开始”起的历元)-摘录(从(日期'2020-11-09 06:20:00'+(6*间隔'1小时'))起的历元)作为其他时间间隔,
*
从…起
“时隙”
哪里
“开始于”>'2020-11-09 06:20:00'
按小时订购asc;
例如,以下查询与上述查询具有相同的
hours
other_interval
值,尽管日期为
2020-11-09 10:00:00
,而不是
2020-11-09 06:00:00
。这些列不应该有4个小时的不同,因为它们会改变4个小时吗

选择
(摘录(从“起始点”开始的历元)-摘录(从日期“2020-11-09 10:00:00”)开始的历元/3600小时,
(摘录(从“开始时间”开始的历元)-摘录(从(日期'2020-11-09 10:00:00'+(6*间隔'1小时'))开始的历元)作为其他时间间隔,
*
从…起
“时隙”
哪里
“开始于”>=“2020-11-09 06:00:00”
按小时订购asc;

日期“2020-11-09 10:00:00”
会丢失时间部分,因为日期没有时间。出于好奇,您需要时间戳'2020-11-09 10:00:00'
:为什么不先减去值,然后得到历元<代码>提取(从时间戳'2020-11-09 10:00:00'开始的历元)
)`@a_horse_,没有名字
时间戳
。回答你的第二个问题,因为我不知道我在做什么!哈,谢谢你的指导。