Search code examples
postgresqldatediff

How to calculate DATE Difference in PostgreSQL?


Here I need to calculate the difference of the two dates in the PostgreSQL.

In SQL Server: Like we do in SQL Server its much easier.

DATEDIFF(Day, MIN(joindate), MAX(joindate)) AS DateDifference;

My Try: I am trying using the following script:

(Max(joindate) - Min(joindate)) as DateDifference;

Question:

  • Is my method correct?

  • Is there any function in PostgreSQL to calculate this?


Solution

  • Your calculation is correct for DATE types, but if your values are timestamps, you should probably use EXTRACT (or DATE_PART) to be sure to get only the difference in full days;

    EXTRACT(DAY FROM MAX(joindate)-MIN(joindate)) AS DateDifference
    

    An SQLfiddle to test with. Note the timestamp difference being 1 second less than 2 full days.