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

Поиск
Список
Период
Сортировка
От Stephan Szabo
Тема Re: behavior of ' = NULL' vs. MySQL vs. Standards
Дата
Msg-id Pine.BSF.4.21.0106061809050.18346-100000@megazone23.bigpanda.com
обсуждение исходный текст
Ответ на behavior of ' = NULL' vs. MySQL vs. Standards  (Mark Stosberg <mark@summersault.com>)
Ответы Re: behavior of ' = NULL' vs. MySQL vs. Standards  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-sql
On Wed, 6 Jun 2001, Mark Stosberg wrote:

> 
> Hello,
> 
> I'm a long time Postgres user who uses MySQL when I have to. I recently
> ran into an issue with MySQL where this construct didn't do what I expect:
> 
> WHERE date_column = NULL
> 
> I expected it to work like "date_column IS NULL" like it does it
> Postgres 7.0.2, but instead it returned an empty result set. 
> 
> After conversing with some folks on the MySQL list, it was mentioned that:
> 
>  * "NULL is *NOT* a value. It's an absence of a value, and doing *any*
> comparisons with NULL is invalid (the result must always be NULL, even
> if you say "foo = NULL")." 
> 
>  * Postgres handling is non-standard (even if it's intuitive.) 
> 
> My questions then are: 1.) What IS the standard for handling NULLs? and
> then 2.) If Postgres handling is different than the standard, what's the
> reason? 
> 
> To me, having " = NULL" be the same as " IS NULL" is intuitive and thus
> useful, but I also like appeal of using standards when possible. :) 

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.

In general, =NULL should be avoided in favor of IS NULL by users that are
generating their own queries.




В списке pgsql-sql по дате отправления:

Предыдущее
От: John Scott
Дата:
Сообщение: Re: maximum number of rows in table - what about oid limits?
Следующее
От: Tom Lane
Дата:
Сообщение: Re: maximum number of rows in table - what about oid limits?