小编典典

在Postgresql中计算日期差

sql

我试图找出表中某些字段之间的时间。但是由于我正在使用Postgresql :((
我无法使用DATEDIFF函数。我在网上找不到任何清晰的指南/教程,这些指南/教程显示了如何在Postgres中执行类似的操作,因此我需要做同样的事情的帮助但在Postgres

我假设如果我使用支持DATEDIFF函数的RDBMS,则此查询将起作用,因此,基本上我的问题是如何更改它,以便它使用Postgresql提供的功能起作用?

SELECT Question.ID, 
Question.Status, COUNT (qUpdate.ID)  AS NumberofUpdates,
DATEDIFF (Question.LoggedTime,MIN(qUpdate.UpdateTime)) AS TimeBeforeFirstUpdate,
DATEDIFF(Question.LoggedTime, MAX(qUpdate.UpdateTime)) AS TimeBeforeLastUpdate
FROM qUpdate
LEFT JOIN Question ON qUpdate.qID=Question.ID
WHERE Question.Status = 'closed' AND qUpdate.Update NOT NULL
GROUP BY Question.Status, Question.ID, Question.LoggedTime;

如果您需要更多信息或任何澄清,我会尽快答复。


阅读 196

收藏
2021-04-07

共1个答案

小编典典

您不需要“ datediff”功能。

只需减去两个日期:

Question.LoggedTime - MIN(qUpdate.UpdateTime)

如果您不知道,但所有内容都在线上记录了:http :
//www.postgresql.org/docs/current/static/functions-
datetime.html

2021-04-07