A recent question from OTN:
What’s the difference between “{expression} is null” and “{expression}= null” ?
Technically we can say the following:
- {expression} is null will evaluate to one of TRUE or FALSE
- {expression} = null will evaluate to NULL
As a follow on from this: a predicate is satisfied if (and only if) it evaluates to TRUE; a constraint is satisfied if (and only if) it doesn’t evaluate to FALSE.
Three-valued logic catches everybody out occasionally.

It catches my kids out all the time.
Q: “Can I play the XBox when we get home?”.
A: “Um … unknown”.
Drives the little perishers crazy.
I might start answering “Null”.
Comment by David Aldridge — September 20, 2011 @ 8:42 am UTC Sep 20,2011 |
‘Multi-valued logic’ == illogical! ;)
Comment by John Mc Elhinney — September 29, 2011 @ 10:44 pm UTC Sep 29,2011 |
[...] constraint does not evaluate to FALSE, the row is [...]
Pingback by Null – again « Oracle Scratchpad — September 7, 2012 @ 8:28 am UTC Sep 7,2012 |