Hello! I am teaching myself PL/pgSQL. I am trying to write a function that tests whether two time periods overlap. I want to test the function parameters against these two values in "overlaptest" table: select * from overlaptest; id | alku | loppu ----+---------------------+--------------------- 1 | 2010-03-23 10:00:00 | 2010-03-23 12:00:00 (1 row) I have written this function, CREATE OR REPLACE FUNCTION TryOverlap(text, text) RETURNS boolean AS $$ DECLARE ts_start timestamp with time zone := CAST ($1 AS TIMESTAMP WITH TIME ZONE); ts_end timestamp with time zone := CAST ($2 AS TIMESTAMP WITH TIME ZONE); alku timestamp with time zone; loppu timestamp with time zone; BEGIN SELECT alku,loppu FROM overlaptest WHERE id = 1 INTO alku,loppu; IF ((alku,loppu) OVERLAPS (ts_start,ts_end)) THEN RETURN true; END IF; RETURN false; END; $$ LANGUAGE plpgsql; However, it always seems to return the value false. What's the problem here? I appreciate any help. Tuo -- Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general