Re: behavior of ' = NULL' vs. MySQL vs. Standards

From: ANDREW PERRIN <aperrin(at)email(dot)unc(dot)edu>
To: Mark Stosberg <mark(at)summersault(dot)com>
Cc: Stephan Szabo <sszabo(at)megazone23(dot)bigpanda(dot)com>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, pgsql-sql(at)postgresql(dot)org, pgsql-hackers(at)postgresql(dot)org
Subject: Re: behavior of ' = NULL' vs. MySQL vs. Standards
Date: 2001-06-07 14:59:06
Message-ID: Pine.GSO.4.21L1.0106071055450.18009-100000@sunny
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers pgsql-sql

Interesting - my experience is that Access, at least, generally treats
NULL's correctly:

(This was done under Access 2000):
create table foo (name text(20))
insert into foo values ("bar");
insert into foo values ("bar");
insert into foo values ("bar");
insert into foo values ("bar");
insert into foo values (NULL);
insert into foo values (NULL);
insert into foo values (NULL);
insert into foo values (NULL);

select count(*) from foo where name=NULL;
returns 0

select count(*) from foo where name is null;
returns 4

select count(*) from foo where name <> "bar";
returns 0

Cheers,
Andy

---------------------------------------------------------
Andrew J. Perrin - Assistant Professor of Sociology
University of North Carolina, Chapel Hill
269 Hamilton Hall CB#3210, Chapel Hill, NC 27599-3210 USA
andrew_perrin(at)unc(dot)edu - http://www.unc.edu/~aperrin

On Thu, 7 Jun 2001, Mark Stosberg wrote:

> Stephan Szabo wrote:
> >
> > On Wed, 6 Jun 2001, Tom Lane wrote:
> >
> > > Stephan Szabo <sszabo(at)megazone23(dot)bigpanda(dot)com> writes:
> > > > Yes, column = NULL should *never* return true according to the spec (it
> > > > should always return NULL in fact as stated). The reason for breaking
> > > > with the spec is AFAIK to work with broken microsoft clients that seem to
> > > > think that =NULL is a meaningful test and generate queries using that.
>
> > I'd rather have the default be the spec correct behavior
> > and let people configure their server to follow the misinterpretation.
>
> I like that idea as well. Someone like me who didn't know that this
> feature was in there for M$ could have assumed it _was_ standard
> behavior, and started using it as a habit. Then when I started porting
> my code to another database, I'd have an extra surprise in for me. :)
>
> Rather than being an option targeted at just this piece of grammer,
> perhaps it could a piece of a potentially larger option of "stricter
> standards compliance." I realize there are a number of useful extensions
> to the SQL standard in Postgres (which I like and use.), but it seems
> like there would be uses for minimizing non-standard behavior, as well.
>
> Thank you all for your contributions to Postgres-- I use it everyday. :)
>
> -mark
>
> http://mark.stosberg.com/
>
> ---------------------------(end of broadcast)---------------------------
> TIP 3: if posting/reading through Usenet, please send an appropriate
> subscribe-nomail command to majordomo(at)postgresql(dot)org so that your
> message can get through to the mailing list cleanly
>

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Bruce Momjian 2001-06-07 15:03:02 Re: 7.2 items
Previous Message Vince Vielhaber 2001-06-07 14:50:54 Re: grant and SQL92

Browse pgsql-sql by date

  From Date Subject
Next Message Tim Barnard 2001-06-07 15:08:09 Re: Re: [SQL] maximum number of rows in table - what about oid limits?
Previous Message Mark Stosberg 2001-06-07 14:45:58 Re: About table column names.