在CASE表达式中减去日期

时间:2019-04-13 19:18:05

标签: postgresql datediff

我正在寻找查询中两个日期之间有多少天。对于经验丰富的Postgres人员来说,这可能很简单,但是我找不到答案。

帮助会很棒。

CASE
 WHEN DATEDIFF('day',a.date_approve,a.current_rec_date) = 1 
     THEN a.current_rec_date
 ELSE a.date_approved
END AS date_approved,

1 个答案:

答案 0 :(得分:0)

Postgres中没有datediff()

如果列为date,则只需将其减去即可得出天数差异。

...
a.date_approve - a.current_rec_date = 1
...

如果它们是timestamp,则减去它们会得到interval,因此您需要将其与interval进行比较。

...
a.date_approve - a.current_rec_date = '1 day'::interval
...

您可以从documentation获取更多信息。