Oracle FAQ Your Portal to the Oracle Knowledge Grid

Home -> Community -> Usenet -> comp.databases.theory -> Re: So what's null then if it's not nothing?

Re: So what's null then if it's not nothing?

From: David Cressey <>
Date: Sun, 20 Nov 2005 14:27:09 GMT
Message-ID: <1J%ff.768$>

"mAsterdam" <> wrote in message news:4380531c$0$11064$
> JOG wrote:
> > Even hearing the word "null" is starting to sound embarrassing now,
> > never mind postulating a definition for it. Surely the field has
> > reached the point where we all know there are better ways of handling
> > missing data, but given the tech we have when we get up tomorrow, and
> > the job at hand, we have to make do. What more is there to say.
> [Null] is a very misunderstanding prone theme, so it is ideal for the
> c.d.t. glossary. I wondered if this thread has brought some new
> insights concerning how to deal with those misunderstandings.
> This is the current entry for [Null] in the c.d.t. gossary:
> > [NULL]
> > Roughly: a special marker that can be put in a place
> > inside a data structure where an actual value is expected.
> > Precisely what that marker means varies and there are at
> > least three possibilities that are sometimes assumed:
> >
> > (1) "Unknown value" This means that on the place of the marker
> > there should actually be a value but this value is not known
> > at the present time. For example, if a 'name' field in a tuple
> > describing a person is 'null' then this person will have a
> > name but we don't know it.
> >
> > (2) "Absent value" This means that the property that is
> > described by the value in question is simply not defined.
> > For example, if the 'shipping-date' field in a tuple
> > describing an order is 'null' then the order was
> > not shipped yet.
> >
> > (3) "Whatever SQL says it means" The exact meaning is hard to
> > summarize briefly, but is a mixture of the previous two
> > interpretations and involves a value with three truth-values
> > ('true', 'false' and 'unknown').
> You have all really thought about how to talk about null.
> Are there reasons to change the entry?

Yes. Definition (3) above should be the lead definition, and should explicitly state what the SQL definition is, namely a marker indicating the absence of a value.

Defnitions (1) and (2) above should clearly be distinguished as INFERENCES (possibly valid) drawn by the reader, rather than INDICATIONS conveyed by the NULL itself. In other words, definitions (1) and (2) attempt to communicate WHY a value is not present, which goes beyond the purpose for which NULL was invented. Received on Sun Nov 20 2005 - 08:27:09 CST

Original text of this message