Why does MS SQL CAST as bigint result in int overflow?
<p>Why does the following T-SQL statement:</p>

<pre><code>select CAST(COALESCE('3537601039',0) as bigint)
</code></pre>

<p>result in the following error when run against MS SQL Server 10?</p>

<blockquote>
  <p>The conversion of the varchar value '3537601039' overflowed an int
  column.</p>
</blockquote>

<p>Is there a "more correct" way to do this conversion of a <code>varchar</code> to a <code>bigint</code> that would avoid this problem when the number is within range of a <code>bigint</code>?</p>