|  | Posted by Hugo Kornelis on 04/05/07 20:55 
On Thu, 29 Mar 2007 18:08:00 -0700, Ed Murphy wrote:
 >--CELKO-- wrote:
 >
 >> All data types have to be NULL-able in SQL.  Having a BOOLEAN type
 >> would lead to 4 valued logic with inconsistent rules about how NULLs
 >> propagate.  And the various vendor extension do not work or port
 >> either.
 >
 >It seems like dropping UNKNOWN would leave a sensible set of rules:
 >
 >   and | T N F     or | T N F     not |
 >   ----+------     ---+------     ----+--
 >    T  | T N F      T | T T T      T  | F
 >    N  | N N F      N | T N N      N  | N
 >    F  | F F F      F | T N F      F  | T
 >
 >Am I overlooking anything?
 
 Hi Ed,
 
 You've overlooked the basic rule of NULL propagation: any expression
 involving NULL results in NULL. In the tables above, there are
 exceptions to this rule, such as NULL AND FALSE resulting in FALSE, and
 TRUE OR NULL resulting in TRUE.
 
 --
 Hugo Kornelis, SQL Server MVP
 My SQL Server blog: http://sqlblog.com/blogs/hugo_kornelis
  Navigation: [Reply to this message] |