| 
	
 | 
 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] 
 |