我希望在一个表中定义为整数的列中没有天数,即
select age('2013-04-06','2013-04-04')
- >给我2days
作为输出
我希望将2天存储到数据类型为整数的列中。 我试过这个,但我从这个查询得到了数小时......
SELECT (EXTRACT(epoch FROM (select age('2013-07-06','2013-07-04')))/3600);
- > 48
,即48小时output
我需要2天或48小时内的integer value(2)
如何完成这项工作?
答案 0 :(得分:4)
age(...)
生成interval
。然后,您可以使用extract
上的interval
来获取日期:
select extract(day from age('2013-04-06','2013-04-04'));
对于某些输入,您需要justify_interval
interval
之前调用extract
- 但age
会产生预先对齐的间隔,因此不应该在这种情况下需要。
答案 1 :(得分:2)
select '2014-05-02'::date - '2013-04-01'::date;
给出天数,甚至是天,月或年之间的差异