如何使用PostgreSQL在几分钟内获得时间戳

Ang*_*gel 4 database postgresql

当我在网上发送表单时,插入查询使用函数now()将当前日期保存在我的数据库中.

现在,我正在尝试以分钟格式获取此列以计算我需要的其他想法,但我不知道该怎么做.

例如,我有这个:

"2013-05-08 08:30:00"

我想要这个(现在是8.50):

"20"< - 分钟

谢谢

fog*_*fog 10

好的,我们假设您有一个带有时间戳的表:

CREATE TABLE ex (t timestamp);
INSERT INTO ex VALUES ('2013-05-08 8:30'::timestamp);
Run Code Online (Sandbox Code Playgroud)

你想要列t和之间的分钟差异now().您可以使用该extract功能获得:

SELECT extract(epoch from (now() - ex.t)) / 60 FROM ex;
Run Code Online (Sandbox Code Playgroud)

epoch是"epoch"for datetimestamptypes的秒数,但不仅仅是interval类型间隔中的秒数.通过将它除以60得到你想要的东西(如果你想要整数分钟就trunc可以了.)

  • 我的天啊.这个社区很棒.你很棒.非常感谢,它非常完美!! (2认同)