From: --CELKO-- on
>> The ability to have {true, false, undefined} instead of only {true, false} is another benefit. <<

We do have that ANSI/ISO Standards, but it does not work and might be
removed. There are some basic principles of SQL:

1) All data types support NULL
2) NULLs propagage

So a 3-valued logic would have to support {TRUE, FALSE, UNKNOWN,
NULL}. The ANSI model is that a NULL is an UNKNOWN. Try to write out a
truth table that makes sense in the SQL world without destroying Null
propagation:

(a = a) AND UNKNOWN is UNKNOWN
(a = a) AND NULL is NULL is UNKNOWN

(a <> a) AND UNKNOWN is FALSE
(a <> a) AND NULL is NULL is UNKNOWN -- propagation principle

(a = a) OR UNKNOWN is
(a = a) OR NULL is NULL is UNKNOWN -- propagation principle

(a <> a) OR UNKNOWN is UNKNOWN
(a <> a) OR NULL is NULL is UNKNOWN -- propagation principle

NOT UNKNOWN is UNKNOWN
NOT NULL is UNKNOWN

What we do have in that Standards that is useful is "<search
condition> IS [NOT] [TRUE | FALSE | UNKNOWN]" to test a search
condition.