Sean Lange (4/30/2013)
I don't think I follow you here Tom. The condition checks is @ToCreate = 1. It does not equal 1 because it is NULL. Therefore the boolean check would be false.
SQL uses three-valued logic, not true Boolean logic. Any comparison with a NULL (except when using IS [NOT] NULL) will not result in True or False, but in Unknown.
For WHERE and IF, a logic result of True qualifies, and False and Unknown do not qualify.
For CHECK constraints, a logic result of True or Unknown qualifies and False doesn't.