Alexander Staubo írta:
> On 6/4/07, Andrew Sullivan <ajs@crankycanuck.ca> wrote:
>> On Mon, Jun 04, 2007 at 12:37:42AM +0200, PFC wrote:
>> > NULL usually means "unknown" or "not applicable"
>>
>> Aaaargh! No, it doesn't. It means NULL. Nothing else.
>>
>> If it meant unknown or not applicable or anything else, then
>>
>> SELECT * FROM nulltbl a, othernulltbl b
>> WHERE a.nullcol = b.nullcol
>>
>> would return rows where a.nullcol contained NULL and b.nullcol
>> contained NULL. But it doesn't, because !(NULL = NULL).
>
> I don't disagree with the principle, but that's a specious argument.
> Who says (unknown = unknown) should equal true?
NULL means "value doesn't exist" and for your amusement,
here's an analogy why !(NULL = NULL).
Prove the following statement: every fairy has black hair.
For proving it, let's suppose that there exists a fairy that's hair
isn't black. But fairies don't exist. QED.
Now replace the above statement with another one,
possibly with one that contradicts with the statement above.
Along the same lines, every statements can be proven about
non-existing things, even contradicting ones.
Best regards
--
----------------------------------
Zoltán Böszörményi
Cybertec Geschwinde & Schönig GmbH
http://www.postgresql.at/