Postgresql 我想在postgres中将间隔转换为十进制,需要这个结果吗?

Postgresql 我想在postgres中将间隔转换为十进制,需要这个结果吗?,postgresql,datetime,intervals,Postgresql,Datetime,Intervals,嗨,我在oracle有相同的查询 select ( TRUNC(b.pub_ts, 'MI') - DATE '1970-01-01')* 24 * 60 * 60, TRUNC(b.pub_ts, 'MI') - DATE '1970-01-01' from abctable b where b.blurb_id=344143 oracle中查询的输出如下 我已经在postgres中转换了查询,我想要相同的结果,我怎么能得到它,

嗨,我在oracle有相同的查询

select ( TRUNC(b.pub_ts, 'MI') - DATE '1970-01-01')* 24 * 60 * 60, 
             TRUNC(b.pub_ts, 'MI') - DATE '1970-01-01'
                from abctable b  where b.blurb_id=344143
oracle中查询的输出如下

我已经在postgres中转换了查询,我想要相同的结果,我怎么能得到它,我已经为postgres创建了查询,但它给出的是间隔,而不是像oracle那样的十进制输出

 select  ( date_trunc('minute', b.pub_ts) - DATE '1970-01-01')* 24 * 60 * 60,
                              date_trunc('minute', b.pub_ts) - DATE '1970-01-01'
  FROM abc b WHERE b.blurb_id=344143;  

我试过很多解决办法。你能帮帮我吗。

我认为这是对的,我认为这是对的

如果您检查接受的答案,下面示例中唯一不同的是,我添加了一个24的除法

SELECT EXTRACT(epoch FROM INTERVAL '1499990400 days 1206720:00:00')/24/60/60,
       EXTRACT(epoch FROM INTERVAL '17361 days 13:58:00')/24/60/60;
返回

1500040680和17361.58194442

这些正是您想要的值

您的查询应符合以下内容:

SELECT
  extract( epoch FROM date_trunc('minute', b.pub_ts) - DATE '1970-01-01'),
  extract( epoch FROM date_trunc('minute', b.pub_ts) - DATE '1970-01-01')/86400
FROM abc b WHERE b.blurb_id=344143; 

不,这不会给出我想要的输出。这是完美的解决方案。