getting last day of month

From: Sergey Pariev <egy(at)tnet(dot)dp(dot)ua>
To: "pgsql-general postgresql(dot)org" <pgsql-general(at)postgresql(dot)org>
Subject: getting last day of month
Date: 2005-08-25 16:43:42
Message-ID: 430DF53E.9010103@tnet.dp.ua
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Hi all.
I need to find out the last day of current month. Currently I do the
trick with code below, but that's rather ugly way to do it IMHO. Could
anybody suggest me a better way ?

The following is my testing procedure :

CREATE or REPLACE FUNCTION test_findout_dates()
RETURNS integer AS $$
DECLARE
begin_date date;
end_date date;
current_month int;
current_year int;
last_day int;
BEGIN
current_month := extract ( month from now() ) ;
current_year := extract ( year from now() ) ;

begin_date := current_year || '-' || current_month || '-01' ;

last_day := 31;
begin
end_date := (current_year || '-' || current_month || '-'||
last_day) :: date;
last_day := 0 ;
exception
when others then
raise notice '31 doesnt cut for month %',current_month ;
end;

if last_day > 0 then
begin
last_day := 30;
end_date := (current_year || '-' || current_month || '-'||
last_day) :: date;
last_day := 0 ;
exception
when others then
raise notice '30 doesnt cut for month %',current_month ;
end;
end if;

if last_day > 0 then
begin
last_day := 29;
end_date := (current_year || '-' || current_month || '-'||
last_day) :: date;
last_day := 0 ;
exception
when others then
raise notice '29 doesnt cut for month %',current_month ;
end;
end if;

if last_day > 0 then
begin
last_day := 28;
end_date := (current_year || '-' || current_month || '-'||
last_day ) :: date;
last_day := 0 ;
exception
when others then
raise notice '28 doesnt cut for month %',current_month ;

end;
end if;

raise notice 'begin date is % ',begin_date;
raise notice 'end date is % ',end_date;

return 1;
END;
$$ LANGUAGE plpgsql ;

Thans in Advance, Sergey.

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Tom Lane 2005-08-25 16:50:11 Re: Help with a subselect inside a view
Previous Message Bill Moseley 2005-08-25 16:27:23 Re: Help with a subselect inside a view