Re: So what's null then if it's not nothing?
Date: 16 Nov 2005 23:35:00 -0800
Message-ID: <1132212900.288022.298510_at_z14g2000cwz.googlegroups.com>
Damien wrote:
> 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
And just to add, concerning your question about comparisons, expand out the question to:
Is this thing a, which I know nothing about, equal to this thing b, which I know nothing about?
The answer could be yes, the answer could be no. You do not have sufficient information. so the only possible answer is "I don't know"
Damien Received on Thu Nov 17 2005 - 08:35:00 CET