| Oracle FAQ | Your Portal to the Oracle Knowledge Grid | |
Home -> Community -> Usenet -> comp.databases.theory -> Re: So what's null then if it's not nothing?
In article <mr6pp1dthae49qdiudmgcp8eh66tmve5pp_at_4ax.com>,
hugo_at_pe_NO_rFact.in_SPAM_fo says...
> On Fri, 9 Dec 2005 23:54:33 +0100, Jon Heggland wrote:
>
> But you're correct - in the SQL-99 standard, a BOOLEAN (sic!) datatype
> is introduced. According to the description in the standard, a boolean
> value is either True or False. "The truth value of _unknown_ is
> sometimes represented by the null value".
Yep, according to Codd's bad precedent.
> There is a reson to object to the use of "the null value" to represent
> the truth value Unknown. Elsewhere in the standard, the Null value is
> defined as "A special value that is used to indicate the absence of any
> data value". Of course, if Unknown is considered to be a data value for
> a boolean data type (and the rest of the standard clearly indicates it
> is), it should not be represented by the same symbol that is also used
> to represent the absence of a data value, since a data value can not be
> absent and present at the same time.
I agree. Codd does not.
Thanks a lot for the summary of SQL booleans, but you didn't mention the most interesting thing: When you check two SQL-boolean attributes for equality (using '=', in a WHERE clause), and both are Unknown, what is the result? True or Unknown?
> Removing the row and column for NULL from the truth tables and replacing
> them by a line that says that NULLs propagate changes only the
> representation of the tables, not the content.
No. NULL is not part of the domain; it's part of the meta-language. :) Sophistry, yes, but no worse than the convoluted definitions and rules for how NULLs influence other parts of the system.
-- JonReceived on Mon Dec 12 2005 - 04:08:33 CST
![]() |
![]() |