title: How do I find the implicit conversions present in a SQL Server query?
body: <p>Normally I just toggle Include Actual Execution Plan and in the plan there will be warning symbols I can review which will tell me what the problem is. However, for some reason, with this one query the implicit conversions aren't highlighted in the plan (they do come up just fine for other queries). But I can find them if I select <code>Show Execution Plan XML</code>. In the XML I can find lines with <code>CONVERT_IMPLICIT</code>. I was able to find and remove a large number of implicit conversions this way but there are some I just can't seem to track down. This is because the query is large and the XML plan refers to intermediary expressions with generic names like <code>Expr1026</code>. This makes it nearly impossible to find in the query.</p>
  <p>Here's some example lines from the XML plan:</p>
  <pre><code>&lt;ScalarOperator ScalarString=&quot;CONVERT_IMPLICIT(int,[Expr1426],0)&quot;&gt;
  &lt;ScalarOperator ScalarString=&quot;CONVERT_IMPLICIT(nvarchar(max),[Expr1025],0)&quot;&gt;
  &lt;ScalarOperator ScalarString=&quot;CONVERT_IMPLICIT(nvarchar(max),[Expr1062],0)&quot;&gt;
  </code></pre>
  <p>Unfortuantely the column references wrapping these statements are equally unhelpful:</p>
  <pre><code>&lt;ColumnReference Column=&quot;Expr1069&quot; /&gt;
  </code></pre>
  <p>Is there some other way to surface these implicit conversions with actual line references?</p>