Why is x  1 false when x is null?
This is because a comparison to NULL actually results in unknown. NULL is the absence of data and so you are comparing a value against nothing and the result cannot be determined.


  When null values are present in data, logical and comparison operators can potentially return a third result of UNKNOWN instead of just TRUE or FALSE. This need for three-valued logic is a source of many application errors. These tables outline the effect of introducing null comparisons.


Taken from the documentation on MSDN.