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

From: Damien <Damien_The_Unbeliever_at_hotmail.com>
Date: 16 Nov 2005 23:28:37 -0800
Message-ID: <1132212517.424736.277840_at_z14g2000cwz.googlegroups.com>


michael_at_preece.net wrote:
> I've been accustomed to thinking of things either having a value or
> not. If something has no value then, to me, its value is null. Its
> value is an empty string (whatever "it" is). Different to having a
> value of zero. Different to anything with a value. Now, as I read up on
> SQL, I find that null is supposed to mean "unknown". I can't easily
> accept that. Does SQL's definition of null (unknown) include the null
> I'm familiar with (no value)? That doesn't make sense. If we know
> something has no value then its not an unknown value is it? I can't
> imagine having to write code where the "if a=b then result=true else
> result=false" construct won't work - according to what I'm reading, if
> either a or b is null then I should be setting result to unknown
> instead. Just can't get my head 'round that. Shouldn't things be a lot
> simpler? If something has an unknown value then at least we know
> whether it's null (as in an empty string) or not. To me, "unknown" can
> be compared with an empty string to see if it's null or not. Sorry -
> head is spinning.
>
> Mike.

Hi Mike,

I'm by no means an expert. (Maybe I should stop there :-))

Why do you view an empty string as being the same as null? it certainly isn't in C/C++/C#. Try this for an example. You have a column for storing someones middle initial. I can think of three possible entries into that column:

  1. Their middle initial.
  2. An empty string - they do not have a middle name
  3. NULL - we do not yet know anything about their middle initial

So in that case, an empty string is definitely not the same as NULL. Hope this example might help you find a chink of light.

Damien Received on Thu Nov 17 2005 - 08:28:37 CET

Original text of this message