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 по дате отправления:

Предыдущее
От: "Dawid Kuroczko"
Дата:
Сообщение: pg_stat_activity xact_start and autovacuum
Следующее
От: Ivan Sergio Borgonovo
Дата:
Сообщение: end of life for pg versions...