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

From: David Portas <REMOVE_BEFORE_REPLYING_dportas_at_acm.org>
Date: 17 Nov 2005 14:27:00 -0800
Message-ID: <1132266420.396981.166140_at_g49g2000cwa.googlegroups.com>


michael_at_preece.net wrote:
> frosty 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.
> >
> > As a Pickie, I look at it like this:
> > It's spelled "null" but it's
> > pronounced "undefined." HTH.
> >
> > --
> > frosty (Warning: Pragmatism!)
>
> Cheers for that Treank. It'd be amusing to sit back smugly and watch
> everyone make idiots of themselves over something so trivial if I
> didn't have to get involved myself. For us Pickies it's easy - null is
> equal to an empty string. There is no such thing as an unknown value.
> You can test any value against any other value and get a true or false
> result. No such thing as maybe in computing. A bit is either on or it's
> off. Simple. It's not just Pick that simplifies - or avoids unnecessary
> - confusion over this. Before I programmed in Pick I use various
> Assembler languages (IBM, NCR & ICL) and COBOL and never had any
> confusion over the concept of a mythical "unknown" value. Poor fools.
> Poor deluded fools. The sooner SQL-relational is seen for what it is -
> ridiculous - the better.
>

You are deluded, or anyway confused. SQL is not relational. Nulls are not relational.

-- 
David Portas 
SQL Server MVP 
--
Received on Thu Nov 17 2005 - 23:27:00 CET

Original text of this message