在PostgreSQL中,如何从两个日期的差值中获取天数?
给了我无数的日子!i、 e.:在PostgreSQL中,如何从两个日期的差值中获取天数?,postgresql,postgresql-9.1,postgresql-9.2,Postgresql,Postgresql 9.1,Postgresql 9.2,给了我无数的日子!i、 e.:2天 但当我有不同的月份时,它失败了: select extract(day from age('2013-04-06','2013-04-04'));` 所以我需要得到天数,因为减法看起来更直观 select extract(day from age('2013-05-02','2013-04-01')); 运行此查询以查看结果为何为31而不是32 select '2013-05-02'::date - '2013-04-01'::date 今天和今天的差距
2天
但当我有不同的月份时,它失败了:
select extract(day from age('2013-04-06','2013-04-04'));`
所以我需要得到天数,因为减法看起来更直观
select extract(day from age('2013-05-02','2013-04-01'));
运行此查询以查看结果为何为31而不是32
select '2013-05-02'::date - '2013-04-01'::date
今天和今天的差距是零天。这是否重要取决于应用程序。如果需要,您可以只添加1
with dates as (
select generate_series('2013-04-01'::date, '2013-05-02'::date, '1 day')::date as end_date,
'2013-04-01'::date as start_date
)
select end_date, start_date, end_date - start_date as difference
from dates
order by end_date