在CASE表达式中减去日期

问题描述 投票:0回答:1

我想找出查询中两个日期之间的天数。这对于经验丰富的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,
postgresql datediff
1个回答
0
投票

Postgres中没有datediff()

如果列是dates,那么简单地减去它们将给出你的天数差异。

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

如果他们是timestamps减去他们将得到你interval所以你需要将它与interval进行比较。

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

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

© www.soinside.com 2019 - 2024. All rights reserved.