Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Usenet -> c.d.o.server -> Re: Why are empty VARCHAR2S always NULL?
"Vladimir M. Zakharychev" <bob_at_dpsp-yes.com> wrote in
news:ak0bn4$689$1_at_babylon.agtel.net:
> Well, at times I see people questioning sole existence of NULL in
> databases. :) "Since NULL does not represent anything and is clearly
> not datum, what's the use of storing it in the DATAbase? What's the
> use of an unknown value to a human - and databases are ultimately
> designed to serve humans? If you ask database a question and receive
> "NULL - I don't know" in response - what's the use of such database? I
> could give the same answer in no time and with no effort!" :)
"NULL" is not "I don't know" but rather "I know that I don't know" :) It's like a NULL pointer in C in some respect (except for the ternary logic).
> As of your particular case, if your part is not yet shipped, it is
> unknown to whom it was shipped.
No: It was shipped to nobody, and that's a known fact. The table design says that an empty customer ID means "no customer", i. e. not shipped. A NULL customer ID means "unknown". That's a big difference, but perhaps one has to study Zen in order to accept it.
> Actually, the part shouldn't have made
> it to 'shipped' table until it was actually shipped, at which point
> customer id of recipient is known.
But it's not a "shipped" table, it's a parts table, containing both shipped and unshipped parts.
Regards
W. Roesler
Received on Thu Aug 22 2002 - 01:55:16 CDT