Re: So what's null then if it's not nothing?
Date: Fri, 9 Dec 2005 12:33:03 +0100
Message-ID: <MPG.1e0389d9a5ac00cd989739_at_news.ntnu.no>
In article <1134059425.424236.119570_at_g14g2000cwa.googlegroups.com>,
boston103_at_hotmail.com says...
>
> > > That's how the SQL handles NULL (whatever NULL is assumed to mean).
> >
> > I am not convinced of that. Have you found the relevant passages in the
> > standard?
> >
>
> In brief, the standard has this to say: there is an element/marker
> (NULL) that extends each domain, and the rules for using the element in
> those domains are such and such. The standard deals with the 3VL logic
> by defining the truth tables for AND/OR/NOT and providing an additional
> truth vale (UNKNOWN).
And what is the relationship between NULL and UNKNOWN? And what is the truth value of the expression UNKNOWN = UNKNOWN when used in a WHERE clause?
> That is not correct either. Mathematically speaking, integers form a
> commutative ring and rationals are a field. Besides, you cannot say
> that the rational 3 and the integer 3 are the same thing, because the
> former is an equivalence class [canonical] representative over
> integers which is surely not the same thing as the integer.
Well, I thought you were talking about computer science and programming languages when you said we used '3' for more than one thing. I am not a mathematician, so I cannot really argue at this level. In my favourite programming languages though, '3' is just one thing: an int. And in some subtype/subdomain theories, it is a subtype of rational.
> My point is, as it was before, that you can use the same label to
> denote different things as long as you are careful with what you are
> trying to say.
I don't dispute that; I only say that you should have a good reason for doing so. In the case of numbers, you have. In the case of NULLs, you don't, IMO.
-- JonReceived on Fri Dec 09 2005 - 12:33:03 CET