TSQL I don't understand Arithmetic Overflow Error Converting Money to Numeric
<p>A company is changing their DB systems, and I am in charge of preparing the data to go from the source DB to the target DB. One of the fields needs is the annual salary, and is going from a money datatype to a datatype of format &quot;99999.999999&quot;.</p>
<p>I assumed something like the below would work. It first checks to see if the person is hourly, then put in 0. Otherwise, use the AnnlSal column and format for 6 points of precision.</p>
<pre><code>UPDATE #SalaryInfo
SET AnnSalary = (SELECT CASE WHEN SalaryorHourly = 'H' THEN CONVERT(decimal(11,6), 0)
                             ELSE CONVERT(decimal(11,6), AnnlSal) 
                        END
                 FROM &lt;table&gt;
                 WHERE &lt;table&gt;.Emp = #SalaryInfo.EmpNo 
</code></pre>
<p>That is giving me</p>
<blockquote>
<p>Arithmetic overflow error converting money to data type numeric.</p>
</blockquote>
<p>I found <a href="https://stackoverflow.com/questions/7231660/arithmetic-overflow-error-converting-numeric-to-data-type-numeric">Arithmetic overflow error converting numeric to data type numeric</a>, but I am not understanding why I am still having issues.</p>