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