On 6/4/07, Andrew Sullivan <ajs(at)crankycanuck(dot)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?
Alexander.