From: Marshall <>
Date: Thu, 27 Dec 2007 09:48:24 -0800 (PST)
Message-ID: <>

On Dec 26, 7:17 pm, Bob Badour <> wrote:
> stevedtrm wrote:
> > On 26 Dec, 17:47, "David Cressey" <> wrote:
> >>Short answer: yes, it is to indicate that there is no value.
> > OK.
> > A brief perusal of those discussions gives me no reason to think NULLS
> > are necessary.
> > Furthermore, they reflect some sort of internal Codd/Date debate as to
> > how to handle NULLs. Something about 2nd and 3rd order logic (my
> > mathematics is too rusty to get anything more than an instinctive
> > grasp of this)
> That's 2-valued logic versus 3-valued logic not 1st order logic versus
> 2nd order logic, which is a whole other discussion.
> > What were the two positions, hypersummarised?
> There are more than 2 positions. SQL introduced NULL as a very hackish
> kludge. Codd pointed out that a single NULL marker did not suffice and
> suggested 2 markers. Date pointed out that one can apply the same
> argument to 2 markers leading to an infinite progression once one heads
> down that path, which suggests the path was never a productive one to
> head down in the first place.

Date's argument here seems to me iron-clad.

My one point of amplification would be to claim that the various markers
are *application-specific.* And the role of the system in dealing with application-specific issues is to provide the appropriate mechanisms for application writers to use, and *not* to try to anticipate the specifics
every application will need and provide them ahead of time.

Which is to say, I interpret all the NULL-related difficulty as yet another argument for user-defined types.

Marshall Received on Thu Dec 27 2007 - 18:48:24 CET

Original text of this message