Here are the 2 functions I have at the moment. I was wondering if someone had a better way?
CREATE OR REPLACE FUNCTION month_start (date) RETURNS date AS ' DECLARE day ALIAS FOR $1; BEGIN RETURN day - (extract(''day'' FROM day)||'' days'')::interval + ''1 day''::interval; END; ' LANGUAGE 'plpgsql'; CREATE OR REPLACE FUNCTION month_end (date) RETURNS date AS ' DECLARE day ALIAS FOR $1; month int; year int; BEGIN month := extract(''month'' FROM day); year := extract(''year'' FROM day); IF month = 12 THEN month := 1; year := year +1; ELSE month := month +1; END IF; RETURN (''01-''||month||''-''||year)::date - ''1 day''::interval; END; ' LANGUAGE 'plpgsql'; -- David Stanaway ---------------------------(end of broadcast)--------------------------- TIP 5: Have you checked our extensive FAQ? http://www.postgresql.org/users-lounge/docs/faq.html