On Dec 6, 2009, at 9:16 PM, Rusty Brooks wrote:
Why is it that you can't get "out" what you put "in"? 'is null' doesn't make a lot of sense to me to begin with (please, just accept test=NULL!)
Oh, it makes perfect sense within the formal framework of SQL. "no value" is not the same as "a value which is empty".
The difference isn't as obvious with strings, but "i = 0" is not the same as "I have no value for i". Unknowns are important.
In Tcl we do it typically by saying [info exists i] ... that's how you tell if i has a value or not.
If it wasn't useful to know if i has a value or not, well, why have info exists?
SQL is just a bit more explicit ... i is null is essentially like ! [info exists i]
but the fact that oracle turns my '' into a null means that I can't get my results back without turning any queries that have "test = ''" into "test is null"
Yes, the confusion in Oracle is bad ...
Postgres still makes me use "is null"
Better is to say "SQL ..." not "Postgres" - Postgres implements the standard.
---- Don Baccus http://donb.photo.net http://birdnotes.net http://openacs.org -- AOLserver - http://www.aolserver.com/ To Remove yourself from this list, simply send an email to <lists...@listserv.aol.com> with the body of "SIGNOFF AOLSERVER" in the email message. You can leave the Subject: field of your email blank.