OK, I guess I stepped on a nerve here...and in retrospect, I should
have thought out my post more....

-I should not have made a reference to SQL Server...the IS NULL
operator is part of the ANSI-92 standard, and would be used in any
database that conforms to that(but the original post was referring to
SQL Server :-)) . But the question was why "IS NULL"...it is a syntax
thing...the "IS" operator is used for nothing else that I know of.  It
allows the database engine to override the rule that NULL = NULL
resolves to "Unknown" and actually do the comparison, treating NULL as
a "value" ("value" is in quotes so no one jumps down my throat,
going..."NULL has no value!!!"...that is understood).

-The assignment issue is not completely obvious to me....and this is
more of an overall issue with the ANSI-92 standard than with
assignment vs comparison...in some ways, I think having a special
syntax for the assignment of NULL would have helped people understand
the concept.  I also don't think database systems should default
fields to allow NULL if it is not specified(as SQL Server does).

-This is part of the SQL Standard, and IS probably the best way to
handle NULLs, but there are exceptions...that is why you have
conditions like SET ANSI_NULLS OFF.  The fact is that the concept of
three value logic is not that straight forward to everyone, and
including it in the SQL spec has probably confused a lot of people.

--
Jim Wright
Wright Business Solutions
[EMAIL PROTECTED]
919-417-2257

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
Message: http://www.houseoffusion.com/lists.cfm/link=i:4:231745
Archives: http://www.houseoffusion.com/cf_lists/threads.cfm/4
Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4
Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
Donations & Support: http://www.houseoffusion.com/tiny.cfm/54

Reply via email to