title: 1 and 0 not recognized as boolean constants in T-SQL
body: <p>If I try to run this query in SQL Server 2005:</p>
  
  <pre><code>SELECT 1 WHERE NOT ( 0 )
  </code></pre>
  
  <p>I get this error:</p>
  
  <blockquote>
    <p>Msg 4145, Level 15, State 1, Line 1 An
    expression of non-boolean type
    specified in a context where a
    condition is expected, near ')'.</p>
  </blockquote>
  
  <p>Sometimes when debugging complex WHERE statements I will cut out pieces and test a particular scenario by inserting something like <code>1=1</code> for true.  I would prefer to just use <code>1</code> or <code>TRUE</code> but this doesn't work in the above case.  Why is it not able to evaluate <code>NOT( 0 )</code> as a boolean expression?</p>
  
  <p>Edit: This does work fine, showing that I don't have to add a column:</p>
  
  <p><code>SELECT 1 WHERE NOT(1&lt;&gt;1)</code></p>