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

PostgreSQL的时间戳小时数

发布时间:2020-12-13 16:47:40 所属栏目:百科 来源:网络整理
导读:PostgreSQL是否有一个TIMESTAMPDIFF()等价的? 我知道我可以减去两个时间戳获得一个postgresql INTERVAL。我只想要用INT表示的以小时表示的两个时间戳之间的差异。 我可以在MySQL这样做: TIMESTAMPDIFF(HOUR,links.created,NOW()) 我只需要两个时间戳之间的
PostgreSQL是否有一个TIMESTAMPDIFF()等价的?

我知道我可以减去两个时间戳获得一个postgresql INTERVAL。我只想要用INT表示的以小时表示的两个时间戳之间的差异。

我可以在MySQL这样做:

TIMESTAMPDIFF(HOUR,links.created,NOW())

我只需要两个时间戳之间的差异,表示为整数。

解决方案适用于我:

SELECT "links_link"."created","links_link"."title",(EXTRACT(EPOCH FROM current_timestamp - "links_link"."created")/3600)::Integer AS "age" 
FROM "links_link"
第一件事出现了
EXTRACT(EPOCH FROM current_timestamp-somedate)/3600

可能不漂亮,但解锁的道路。如果定义了按间隔划分的间隔,可能更漂亮。

编辑:如果你想要它大于零使用abs或最大(…,0)。无论哪一种适合你的意图。

编辑:我没有使用年龄的原因是年龄与单个参数,引用文档:从current_date减去(在午夜)。这意味着你不会得到一个准确的“年龄”,除非运行在午夜。现在几乎是1am这里:

select age(current_timestamp);
       age        
------------------
 -00:52:40.826309
(1 row)

(编辑:李大同)

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

    推荐文章
      热点阅读