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

From: vc <boston103_at_hotmail.com>
Date: 18 Dec 2005 09:13:12 -0800
Message-ID: <1134925992.542178.22230_at_z14g2000cwz.googlegroups.com>


Jon Heggland wrote:
> In article <1134828509.355442.304890_at_z14g2000cwz.googlegroups.com>,
> boston103_at_hotmail.com says...
> >
> > > Jon 2: Good point; I do like my consistency. Hmm... Actually, I think
> > > I'll drop the third truth value, and just have TRUE and FALSE. I'll call
> > > this domain "Boolean". Of course, any expression can still be null.
> >
> > So you suggest dropping the UNKNOWN synonym from the set of truth
> > values and keepeing only {TRUE, FALSE, NULL}.
>
> No, the set of truth values does not include NULL, just like the set of
> integers don't.

How do you define addition over your integers then ? How do you interpret 2 + NULL ? *What* is '+' in the expression ?

> NULL is not a value, it is a property of a variable (or
> an expression).

How do you define any operation with NULL over the domain if integers ?

> Metadata.

Please provide a definition of the word 'metadata' applicable to NULL and explain how relevant such definition is to the operation of integer addition.

>
> > >No literal expression can possibly be null---and to use
> > > tables looking very much like truth tables to explain the exceptions to
> > > null propagation is therefore not possible,
> >
> > I do not understand this either. Do you disagree with SQL'99 truth
> > tables and at the same time state that you agree with their position
> > ("I have reached SQL enlightenment") ?
>
> I disagree with their presentation. To use truth tables to show how null
> expressions work with boolean operators leads people to believe that
> NULL is a (truth) value.

How would you define, say, OR when one of the operands is NULL ? What exactly is 'OR' in an expression like TRUE OR NULL ?

>
> And I'm not saying I necessarily agree with their position, but I
> understand the justification for that position. Given the way NULL works
> in other contexts in SQL, I think the 'boolean NULL' makes sense.

Please explain what you mean by 'I think the 'boolean NULL' makes sense' (provide an example).

>
> > Also, ok, you forbid expressions like FALSE AND NULL, but what does it
> > change ? How do you evaluate (1=0) AND (x>y), where x or y happen to
> > be NULL ?
>
> The change is just for making it clear(er) that NULL is not a value.

What is gained at the logical/algebraic level by 'making it clear(er) that NULL is not a value' ?

> --
> Jon
Received on Sun Dec 18 2005 - 18:13:12 CET

Original text of this message