From: | Don Baccus <dhogaza(at)pacifier(dot)com> |
---|---|
To: | Thomas Lockhart <lockhart(at)alumni(dot)caltech(dot)edu>, Magnus Hagander <mha(at)sollentuna(dot)net> |
Cc: | "'Tom Lane'" <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Tatsuo Ishii <t-ishii(at)sra(dot)co(dot)jp>, pgsql-hackers(at)postgresql(dot)org |
Subject: | Re: comparing rows |
Date: | 2000-08-03 13:52:53 |
Message-ID: | 3.0.1.32.20000803065253.014e3650@mail.pacifier.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
At 01:44 PM 8/3/00 +0000, Thomas Lockhart wrote:
>> Not compatible with the current release of MS SQL/MSDE :-) At least not
>> fully.
>
>The original issue was that "foo = NULL" is *not* a legal SQL92
>statement.
Ummm...I think this is wrong, and I have Date on my side (I just
checked). foo = NULL is NULL, just like foo + NULL is NULL.
If foo = NULL is illegal, doesn't this make it rather difficult to
say things like table1.i = table2.i for tables that contain NULLs
in column i?
Oracle allows it, and returns NULL. Oracle's fairly trustworthy
on low-level standards compliance over things like NULL (not
entirely, though - it treats '' as NULL in the VALUES list of
an INSERT, though not elsewhere, for instance).
NULL = NULL is also perfectly legal, returning NULL. Before one
gets too excited, NULL <> NULL and NULL < NULL etc all return
NULL, too, along with NULL = <anything> so it's not terribly
useful, which is why IS NULL exists.
- Don Baccus, Portland OR <dhogaza(at)pacifier(dot)com>
Nature photos, on-line guides, Pacific Northwest
Rare Bird Alert Service and other goodies at
http://donb.photo.net.
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2000-08-03 13:55:35 | Re: comparing rows |
Previous Message | Thomas Lockhart | 2000-08-03 13:44:22 | Re: comparing rows |