I am trying to select only the past three months of data from a table. I’ve attempted the following:
SELECT *
FROM cte_data
WHERE DATEDIFF(MONTH, my_timestamp, GETDATE()) <= 3
This is returning the error:
ERROR: column "month" does not exist Position: 1182
My date follows the format:
December 16, 2021, 2:40 PM
How can I make this work?
NOTE: I’m using PostgreSQL on Metabase.
>Solution :
As documented in the manual, there is no datediff() function in Postgres. You just subtract an interval:
select *
from cte_data
where my_timestamp >= current_timestamp - interval '3 month';