On 6/4/07, Andrew Sullivan <ajs@xxxxxxxxxxxxxxx> 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.