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

From: Hugo Kornelis <hugo_at_pe_NO_rFact.in_SPAM_fo>
Date: Sun, 20 Nov 2005 23:26:10 +0100
Message-ID: <>

On 20 Nov 2005 13:58:43 -0800, wrote:

>Hugo Kornelis wrote:
>> According to the ANSI specification, null has one and only one meaning:
>> it's a marker to represent the absence of a value.
>> So it's neither unknown, nor empty.
>This just seems plain wrong to me.

Hi Mike,

So it seems. And hardly surprising. After all, you already opened this discussion with the admission that you had trouble grasping the concept of NULL within SQL databases.

> It surely is an empty set - or an
>empty thing.

No, NULL is not an empty set (though there is some relation here - the result of most aggregate functions on an empty set is defined to be NULL in the SQL standard).

The datatype of my dog's age (in whole years) has to be an integer, not a set. You can't store a set (not even an empty one) in a column that is designed to hold integer values.

The age of my dog is also not an empty thing. My glass of Scotch on the other hand - now, THAT's an empty thing! :-)

> The thing surely exists.

How do you know? Suppose I don't have a dog, than how could my dog ever have an age?

If *MIGHT* exist. But it might just as well not.

> has this to say (among others):
>Mathematics. Of or relating to a set having no members

That's the fourth definition in The American Heritage(R) Dictionary of the English Language, 4th ed. The third one, directly above it, reads:

"Amounting to nothing; absent or nonexistent: a null result."

And further down the page, you'll find this definition, taken from The Free On-line Dictionary of Computing:

"<programming> A special value used in several languages to represent the thing referred to by an uninitialised pointer.

<database> A special value that may be stored in some database columns to represent an unknown, missing, not applicable, or undefined value. Nulls are treated completely differently from ordinary values when evaluating SQL expressions and there are several SQL constructs for dealing with nulls."

>This is entirely consistent with Pick's null.

I guess that consistency with Pick was not the top priority when the ANSI committee wrote down their definition of NULL.

(snipped rest of Pick description - we were discussing NULL in SQL, remember?)

Best, Hugo


(Remove _NO_ and _SPAM_ to get my e-mail address)
Received on Sun Nov 20 2005 - 23:26:10 CET

Original text of this message