PostgreSQL两列日期之间的差异?

7
Username    DateStart  DateFinish
James       2017-07-01 2017-09-14
Luigi       2017-08-02 2017-09-18
Francesco   2017-09-03 2017-10-25  

如何使用SQL计算两个日期列之间的天数差?


3
select *, "DateFinish" - "DateStart" 的翻译是:选择所有字段,并计算“DateFinish”减去“DateStart”的时间差。 - Vao Tsun
3个回答

6
你可以简单地像这样减去它们:
select "DateFinish"::date - "DateStart"::date;

如果日期列的数据类型是日期,那么你可以简单地执行以下操作:
select "DateFinish" - "DateStart"

2

试试这个。它提取两个日期之间的天数,并创建一个名为"days"的列:

select extract(day from DateFinish - DateStart) as days from MyTable;

extract 是不必要的。 - user330315

2

如果您想查看数字的差异(例如10而不是包含10天日期值),可以使用以下方法获得:

select extract(day from "DateFinish" - "DateStart") 

extract 是不必要的。 - user330315

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接