Answers:
可能最简单的方法是:
SELECT EXTRACT(epoch FROM my_interval)/3600
如果要整数,即天数:
SELECT (EXTRACT(epoch FROM (SELECT (NOW() - '2014-08-02 08:10:56')))/86400)::int
SELECT extract('epoch' FROM age('2014-08-02'::timestamp)) / 86400
(我正在使用Pg 9.4),因为只有一个参数时才age(ts)
自动使用CURRENT_DATE
。
如果转换表字段:
定义字段,使其包含秒数:
CREATE TABLE IF NOT EXISTS test (
...
field INTERVAL SECOND(0)
);
提取值。请记住,以其他方式强制转换为int,一旦间隔很大,您会得到不愉快的惊喜:
EXTRACT(EPOCH FROM field)::int