Re: Mechanics of Select
От | Bill Moran |
---|---|
Тема | Re: Mechanics of Select |
Дата | |
Msg-id | 20080211075919.6e537e18.wmoran@potentialtech.com обсуждение исходный текст |
Ответ на | Re: Mechanics of Select (Alban Hertroys <dalroi@solfertje.student.utwente.nl>) |
Список | pgsql-general |
In response to Alban Hertroys <dalroi@solfertje.student.utwente.nl>: > On Feb 11, 2008, at 12:43 AM, brian wrote: > > Try: > > > > CREATE OR REPLACE FUNCTION first_day_next_month(inputdate date) > > RETURNS date AS > > $BODY$ > > DECLARE > > resultdate date; > > BEGIN > > SELECT INTO resultdate to_date(to_char((inputdate + interval \ > > '1 month'), 'yyyy-MM') || '-01', 'yyyy-mm-dd'); > > RETURN resultdate; > > END; > > $BODY$ > > LANGUAGE 'plpgsql'; > > > No need for the variable or the SELECT, and it's an immutable > function, so better define that. Besides that it's probably better to > use the date_trunc function here. > > Try: > > CREATE OR REPLACE FUNCTION first_day_next_month(inputdate date) > RETURNS date AS > $BODY$ > BEGIN > RETURN date_trunc('month', inputdate + interval '1 month'); > END; > $BODY$ > LANGUAGE 'plpgsql' IMMUTABLE; > > And with that I wonder why you'd even need a function :) Because it's clear what the function does by the name. It becomes self-documenting, and ginormous queries will be easier to grok with a function called first_day_next_month(). -- Bill Moran http://www.potentialtech.com
В списке pgsql-general по дате отправления: