title: Problem convert column values from VARCHAR(n) to DECIMAL
body: <p>I have a SQL Server 2000 database with a column of type VARCHAR(255). All the data is either NULL, or numeric data with up to two points of precision (e.g. '11.85'). I tried to run the following T-SQL query but received the error 'Error converting data type varchar to numeric'</p>
  
  <pre><code>SELECT CAST([MyColumn] AS DECIMAL)
  FROM [MyTable];
  </code></pre>
  
  <p>I tried a more specific cast, which also failed.</p>
  
  <pre><code>SELECT CAST([MyColumn] AS DECIMAL(6,2))
  FROM [MyTable];
  </code></pre>
  
  <p>I also tried the following to see if any data is non-numeric, and the only values returned were NULL.</p>
  
  <pre><code>SELECT ISNUMERIC([MyColumn]), [MyColumn]
  FROM [MyTable]
  WHERE ISNUMERIC([MyColumn]) = 0;
  </code></pre>
  
  <p>I tried to convert to other data types, such as FLOAT and MONEY, but only MONEY was successful. So I tried the following:</p>
  
  <pre><code>SELECT CAST(CAST([MyColumn] AS MONEY) AS DECIMAL)
  FROM [MyTable];
  </code></pre>
  
  <p>...which worked just fine. Any ideas why the original query failed? Will there be a problem if I first convert to MONEY and then to DECIMAL?</p>
  
  <p>Thanks!</p>