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) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |