John Crenshaw wrote: > Yeah, I tend to agree that null != null is confusing, however that is > the way it is "supposed" to behave, so changing that would break a lot > of code. If I had my way, and the behavior of NULL in operations COULD > be changed, I would opt for the following: > > NULL = NULL -> true > As a Boolean, NULL -> false > (NULL = anything other than NULL) -> NULL > (NULL {+,-,*,/,>,<} x) -> NULL > (NULL {AND,OR} x) -> x > > The result would be that expressions with "null" are simply ignored, > which as far as I can tell is nearly always the goal when you have to > add "IS NULL" tests to expressions. Of course, a change like this would > break TONS of code, so it will never happen, but I can dream.
On the other hand, you could invent another RDBMS programming language that works the way you think SQL should be weren't it for exact backwards compatibility, and then just have a translation tool to convert code written in it to the behavior-equivalent SQL/etc code that a DBMS will actually run. The other language could be arbitrarily similar to SQL when you don't have a reason to be different. This is what I'm doing with my "Muldis D" language, which is close to being feature-complete. -- Darren Duncan _______________________________________________ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users