Re: Warning about null and open question to Oracle

From: Pauli Salmu <p.salmu_at_mn.medstroms.se>
Date: 1995/06/13
Message-ID: <3riru9$po1_at_zorn.mnet.medstroms.se>#1/1


John Jones <john_at_iluvatar.tip.duke.edu> wrote:

>

> First, a warning about null values. I knew that Null's were treated special
> in Oracle, but this problem is weird. I had a very LONG stored proc that
> was acting strange. We were comparing two tables to see if values where
> changing from one run to the next. The two tables were a like but the
> changes only got made to one table. In my proc I would open a cursor from
> one table and compare the values in the other table. If the values
> changed I would change them in the other table and then write the changes
> to a log file. The problem came when I noticed that I was updating almost
> every record every time, even when I ran the procedure when there were no
> changes to the first table. I spent 4 days working on this problem. I
> finally figured out that if both columns that were being compared were
> null then they were not equal. WHY????? It seems that null would be
> equal to null????? To any Oracle Corp. people out there ... Will this
> ever be fixed???

I'm not in Oracle Corps, but I'd say there's nothing to fix. Null just is defined that way: it's kind of undefined and not equal to anything, not even another null. If you want two null values to be considered equal in a comparison, you could convert them with NVL to some value that doesn't get mixed up with any real values or add OR (x IS NULL AND y IS NULL) to the condition. Received on Tue Jun 13 1995 - 00:00:00 CEST

Original text of this message