Re: Oracle 7.1 Enhancements

From: Doug Harris <ah513_at_FreeNet.Carleton.CA>
Date: Tue, 14 Jun 1994 21:34:36 GMT
Message-ID: <CrEp9o.x1_at_freenet.carleton.ca>


In a previous article, msallwas_at_world.nad.northrop.com (Michael Sallwasser) says:

>Please explain. NULL and empty values are conceptually the same thing.

   Survey sez....BZZZZZZT.

   From the early days of RDBMSdom, NULL has been a special value used to represent a MISSING value. Consider the following example...

First Name   Middle Name     Last Name
----------   -----------     -----------------
'John'       ''              'Public'
'Scott'      NULL            'Tiger'

In the first row, I represent the fact that John has no middle name, and that I KNOW that John has no middle name.

In the second row I represent the fact that Scott's middle name is MISSING or UNKNOWN. He may have a middle name, he may not. NULL is used to represent 'I Don't Know'.

   Imagine for example, the problems caused if Oracle considered 0 and NULL to be equivalent for NUMBER values.

>What exactly is the question here?

   Many consider this to be a trivial point, but there are certain types of data processing systems (Statistical Systems for one) in which MISSING or UNKNOWN data must be specially handled.

   Most of the other RDBMSs distinguish between '' and NULL, and this is in fact a requirement of the ANSI SQL 92 standard. Since Oracle dates back to well before this standard, they didn't think it was a big deal originally to distinguish between the two and we've been stuck with this quirk since.

   In order to answer my original question by the way, I have been told that indeed Oracle 7.1 will support the SQL92 standard regarding empty strings and NULL.

   Hope this clears up any confusion about what I was talking about.   Now if I can convince Oracle to up that 254 column/table limit  (another pain for statistical data processing)!

-- 
Received on Tue Jun 14 1994 - 23:34:36 CEST

Original text of this message