views:

222

answers:

2

If I have a function in PL/pgSQL that takes in a timestamp, what is the best way to identify whether that date is less than 12 months in the past?

e.g.

CREATE FUNCTION do_something(foo timestamp) ....
    -- IF foo is less than 12 months in the past THEN
    --    do something
    -- END IF;
END;
+3  A: 

Read about intervals on PostgreSQL doc: Date Types. Use something like:

where foo < CURRENT_TIMESTAMP - interval '12 months'
Michał Niklas
+1  A: 

Or, equivalently: age(foo) < interval '12 months'

Richard Huxton