The Database Design Resource Center

But null IS a value!

by Steve Cosner
(Fresno, California, USA)

In your very first example: "Notice the column AVAILABLE: for account_no 30 it holds a NULL value. How could that be?"

As soon as you say it "holds a null value" or even if you say "it is null", it is NO LONGER an unknown, or undefined, or whatever you want to call it. As soon as you create a row in a table with a null column value, you (and the computer) have identified it ...and given it a value. If you identify it as anything, you have given it value. And therefore it has meaning.

It is pure insanity to fool ourselves into thinking it is beneficial to treat nulls as something different when it comes to database logic.

I've been writing code for over 30 years, and handle NVL functions confidently all the time. But I have YET to see any example where handling a null "non-value" was best treated separately from other known values.

It is just stupid that (null = null) is not true, or that ("xyz' not = null) is not false!

Treating null differently from known values within a database is an evil joke played on computing professionals.

Click here to read or post comments

Join in and write your own page! It's easy to do. How? Simply click here to return to On NULL values.

Exclusive interviews with:
Steven Feuerstein, PLSQL expert
Donald Burleson, Top IT consultant

Free eBook

Subscribe to my newsletter and get my ebook on Entity Relationship Modeling Principles as a free gift:

What visitors say...

"I just stumbled accross your site looking for some normalization theory and I have to say it is fantastic.

I have been in the database field for 10+ years and I have never before come across such a useful site. Thank you for taking the time to put this site together."

Mike, USA

Read more Testimonials

Database Normalization eBook:

Database Normalization eBook

Copyright © / Alf A. Pedersen
All rights reserved.
All information contained on this website is for informational purposes only.
Disclaimer: does not warrant any company, product, service or any content contained herein.

Return to top

Copyright acknowledgement note:

The name Oracle is a trademark of Oracle Corporation.
The names MS Access/MS SQL Server are trademarks of Microsoft Corporation.
Any other names used on this website may be trademarks of their respective owners, which I fully respect.