Re: Dates and NULL's`

From: Lew <noone(at)lewscanon(dot)com>
To: pgsql-sql(at)postgresql(dot)org
Subject: Re: Dates and NULL's`
Date: 2011-05-10 17:55:35
Message-ID: iqbu6i$n6j$1@news.albasani.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

On 05/10/2011 12:48 PM, John Fabiani wrote:
> Hi,
> Maybe this is a dumb question but if I have a date field that contains a NULL
> will it show up when I ask for a where date range for the same date field.
>
> Where mydate>= "2011/04/01"::date and mydate<= "2011/04/30"::date
>
> With the above where will the NULL's be selected????

How many question marks does it take to indicate an interrogative?

> I ask because I was always told that a NULL matches everything and nothing!

That's not a useful viewpoint. The useful point is that NULL matches nothing.

It's a simple three-valued logic with NULL standing in for UNKNOWN:
<http://www.postgresql.org/docs/9.0/interactive/functions-logical.html>

The WHERE clause only selects rows for which the clause evaluates to TRUE.

So in the WHERE clause, both
NULL > "2011/04/01"::date
and
NULL <= "2011/04/30"::date
will fail, and so would
NULL <= "2011/04/01"::date
, since none of these evaluates to TRUE.

--
Lew
Honi soit qui mal y pense.
http://upload.wikimedia.org/wikipedia/commons/c/cf/Friz.jpg

In response to

Browse pgsql-sql by date

  From Date Subject
Next Message Scott Marlowe 2011-05-10 17:56:56 Re: Sorting Issue
Previous Message John Fabiani 2011-05-10 17:51:01 Re: Dates and NULL's`