title: TSQL Prefixing String Literal on Insert - Any Value to This, or Redundant?
body: <p>I just inherited a project that has code similar to the following (rather simple) example:</p>
  
  <pre><code>DECLARE @Demo TABLE
  (
      Quantity INT,
      Symbol NVARCHAR(10)
  )
  
  INSERT INTO @Demo (Quantity, Symbol)
  SELECT 127, N'IBM'
  </code></pre>
  
  <p>My interest is with the <code>N</code> before the string literal.</p>
  
  <p>I understand that the prefix <code>N</code> is to specify encoding (in this case, Unicode). But since the select is just for inserting into a field that is clearly already Unicode, wouldn't this value be automatically upcast? </p>
  
  <p>I've run the code without the <code>N</code> and it appears to work, but am I missing something that the previous programmer intended? Or was the <code>N</code> an oversight on his/her part?</p>
  
  <p>I expect behavior similar to when I pass an <code>int</code> to a <code>decimal</code> field (auto-upcast). Can I get rid of those <code>N</code>s?</p>