Mark W. Farnham wrote:
> So I'm thinkin' Oracle is a high flyin' she, which partly
> explains why she thinks a zero length string is a null
> value but simultaneously understands that a numeric
> zero is not a null.
Null is not a value. Just like infinity is not a value. Null is a
state. Or is it in this case a non-existant state? ;-)
Which is why [NULL != NULL] as mathematical operations are not valid -
state operands are required. Infinity makes this easier to grasp e.g.
[INFINTY != INIFINTY] as the INFINITY "value" is always be greater
than the INIFINITY+1 "value". Thus it cannot ever be a value. It is a
state. Ditto for NULL.
A string that is empty is in Oracle terms a non-existant string. E.g.
with a trailing NULL string column in a table, *nothing* is stored.
NULL simply means that there is no value for that column or variable.
Now you can argue that there's a difference between an empty string
and a null string.. and I will simply point out that this difference
is the same as the mathematical difference between (INFINITY+1) and
INFINITY. I.e. an empty string has no value. Do not think of that
"emptiness" as a valid string value. Sheez, how can it when it does
not contain a single character?
The way that Oracle deals with nulls has always made sense to me,
especially from an OO programming viewpoint. So I honestly do not see
what the issue is about Oracle and NULLs that seems to be an issue for
others.
--
Billy
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
This e-mail and its contents are subject to the Telkom SA Limited
e-mail legal notice available at
http://www.telkom.co.za/TelkomEMailLegalNotice.PDF
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
--
http://www.freelists.org/webpage/oracle-l