min() and NaN

From: "Michael S(dot) Tibbetts" <mtibbetts(at)head-cfa(dot)harvard(dot)edu>
To: pgsql-sql(at)postgresql(dot)org
Subject: min() and NaN
Date: 2003-07-15 19:09:22
Message-ID: 3F145162.7010805@head-cfa.harvard.edu
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

Hi,

I have a table containing a double precision column. That column
contains at least one judiciously placed NaN.

I'd expect the aggregate function min() to return the minimum, valid
numeric value. Instead, it seems to return the minimum value from the
subset of rows following the 'NaN'.

What's going here? What should I expect the aggregate function min() to
return in this case? And why?

Any help is appreciated,
Mike

testdb=> \d min_with_nan
Table "public.min_with_nan"
Column | Type | Modifiers
--------+------------------+-----------
col1 | double precision |

testdb=> select * from min_with_nan ;
col1
-------
3.141
2.718
NaN
10
(4 rows)

testdb=> select min(col1) from min_with_nan ;
min
-----
10
(1 row)

testdb=> select min(col1) from min_with_nan where col1 != 'NaN';
min
-------
2.718
(1 row)

Responses

Browse pgsql-sql by date

  From Date Subject
Next Message Raymond Chui 2003-07-15 19:15:58 Timestamp problem
Previous Message Joe Conway 2003-07-15 18:30:16 Re: Functional Indexes