Andrus ha escrito: > I need to create function GOMONTH which returns date by given number of > month before or forward using sql or pgsql in 8.1+ > For example, > GOMONTH( DATE '20070513', 1 ) should return date '20070613' > GOMONTH( DATE '20070513', -2 ) should return date '20070313' > > I tried > > CREATE OR REPLACE FUNCTION public.gomonth(date, integer, > out date) IMMUTABLE AS > $_$ > SELECT $1 + $2'months'; > $_$ language sql > > but got error > > ERROR: syntax error at or near "'months'" > > How to implement this ? > > Andrus.
CREATE OR REPLACE FUNCTION PUBLIC.GOMONTH(DATE, INTEGER, OUT DATE) IMMUTABLE AS $_$ SELECT ($1 + ($2 || 'MONTHS')::INTERVAL)::DATE; $_$ LANGUAGE SQL ---------------------------(end of broadcast)--------------------------- TIP 5: don't forget to increase your free space map settings