Re: NULLs: theoretical problems?

From: Eric <eric_at_deptj.demon.co.uk>
Date: Sat, 11 Aug 2007 20:50:30 +0100
Message-ID: <slrnfbs4o6.prr.eric_at_tasso.deptj.demon.co.uk>


On 2007-08-11, -CELKO- <jcelko212_at_earthlink.net> wrote:
>>> The ANSI standard defines NULL as follows:
> "null value: A special value that is used to indicate the
> absence of any data value." <<
>
> We needed to word it that for reasons of implementation.

Proving that you did not know the difference between logical and physical. Of course a NULL needs to be implemented, but it is _not_ a value. Any possible implementation (and there are lots) will have to be some sort of special case, but the language does not need to know.

> In Codd's model there is only one NULL, a type-less marker.
> But hardware has to allocate storage and therefore we had to allow
> for "CAST (NULL AS <data type>)" to signal the SQL compiler about
> that column's storage.

What on earth does that mean?

> There are some situations where the compiler cannot determine the data
> type of a CASE expression without explicit CAST() help.

I dont't know that I actually believe that.

> Does anyone seriously gripe about floating point numbers having gaps
> in them because of implementation considerations? No, we just pick on
> poor little NULL ...

But then floating-point numbers are values that are difficult to represent, whereas NULL is _not_ a value, but is easy to represent. The arguments are about what it means and whether we really need it.

Eric

-- 
Beware of Hammer Syndrome!
Received on Sat Aug 11 2007 - 21:50:30 CEST

Original text of this message