【发布时间】:2017-06-12 03:23:21
【问题描述】:
要查找两个日期之间的天数,我们可以使用以下代码:
SELECT date_part('day',age('2017-01-31','2017-01-01')) as total_days;
在上面的查询中,我们得到的是 30 而不是 31。这是为什么呢?
我还想找出星期天除了的天数。区间 ('2017-01-01', '2017-01-31') 的预期输出:
Total Days = 31
Total Days except Sundays = 26
【问题讨论】:
-
不相关,但是:如果“年龄”超过一个月,
date_part('day',age('2017-01-31','2017-01-01'))会给您错误的结果。例如date_part('day', age('2016-02-28','2016-01-01'))将返回 27,尽管它应该是 58。如果您想要两个日期之间的天数,只需减去它们:date '2017-01-31' - date '2017-01-01' -
谢谢@a_horse_with_no_name...会用这个
标签: postgresql postgresql-9.3 date-arithmetic