Thread: dates in functions

dates in functions

From
Salvador Mainé
Date:
Hello:

I'm trying to define a function that, given a date, returns its month.
The definition is as follows:

CREATE function anyo_hidro (date) returns int AS '      BEGIN      RETURN date_part("month",$1);      END;
' LANGUAGE 'plpgsql';


But when I do:

select anyo_hidro('1-1-1999');

I get the following error:

ERROR:  Attribute 'month' not found

Why doesn't date_part work with pl/sql functions?


Thanks 

-- 
Salvador Maine
http://www.ronincoders.com


Re: dates in functions

From
George Moga
Date:
Salvador Mainé wrote:

> Hello:
>
> I'm trying to define a function that, given a date, returns its month.
> The definition is as follows:
>
> CREATE function anyo_hidro (date) returns int AS '
>        BEGIN
>        RETURN date_part("month",$1);
>        END;
> ' LANGUAGE 'plpgsql';
>
> But when I do:
>
> select anyo_hidro('1-1-1999');
>
> I get the following error:
>
> ERROR:  Attribute 'month' not found

Try,

test=# CREATE function anyo_hidro (date) returns int AS '      BEGIN                 RETURN
date_part(\'month\',$1::datetime);     END;
 
' LANGUAGE 'plpgsql';

CREATE
test=#  select anyo_hidro('1-1-1999');anyo_hidro
------------         1
(1 row)


I use:

test=# select version();                           version
---------------------------------------------------------------PostgreSQL 7.0.3 on i686-pc-linux-gnu, compiled by gcc
2.95.3
(1 row)

test=#


George Moga,   Data Systems Srl