On Mon, 2003-02-10 at 19:13, Peter Eisentraut wrote: > Christopher Kings-Lynne writes: > > > I found an example of a casting problem in our source code now that we're > > running 7.3: > > > > SELECT CURRENT_DATE - EXTRACT(DOW FROM CURRENT_DATE); > > A mathematically sound way to write this would be: > > select current_date - extract(dow from current_data) * interval '1 day'; > > > I'm not sure really why DOW needs to be double precision, but hey... > > Extract returns double precision. It can't morph itself based on the > argument type at run time.
Is this mandates by ANSI ? PostgreSQL _does_ select function based on argument type hannu=# create function f(int) returns int as 'select 1' language 'sql'; CREATE hannu=# create function f(int,int) returns float as 'select 3.1415927' language 'sql'; CREATE hannu=# select f(1),f(1,1); f | f ---+----------- 1 | 3.1415927 (1 row) -- Hannu Krosing <[EMAIL PROTECTED]> ---------------------------(end of broadcast)--------------------------- TIP 1: subscribe and unsubscribe commands go to [EMAIL PROTECTED]