title: Should I set a NVARCHAR Length Longer than a VARCHAR IN SQL Server 2016
body: <p>I am in the process of converting an entire, rather large database entity attributes, "The ones that need to be" over to NVARCHAR because our client will be offering services world wide.</p>
  
  <p>This specific data base we've worked with and upgraded for years so it is rock solid for use of membership, location data, ect.</p>
  
  <p>However, It is not quite clear to me as to if as to the following.</p>
  
  <ol>
  <li>I store a 8 length piece of data into VARCHAR(8)</li>
  <li>I convert this to NVARCHAR(8) and it will store a total of 8 length of Chinese data.</li>
  <li>If the NVARCHAR automatically is already set to 2 bytes to each one of my 1 bytes in VARCHAR(8) wouldn't that mean that NVARCHAR(8) is really storing 16 bytes of space and or has allocated 16 bytes for the NVARCHAR(8) so, is there any reason to change the length of the attributes in the entities when i change them for VARCHAR TO NVARCHAR?</li>
  </ol>
  
  <p>Also, before I truly screw things up I've tried testing this by the following code but my Chinese data returns question marks and not the correct data. So this leads me to believe that I also need to set some setting on my database in order to even use NVARCHAR.</p>
  
  <p><strong>Code I am testing with</strong></p>
  
  <pre><code>DECLARE  @NVARCHAR NVARCHAR(8) ='我们的名字说明了'; 
  DECLARE  @VARCHAR  VARCHAR(8) = 'k little';
  
  SELECT @NVARCHAR AS 'Chinese', @VARCHAR as 'English'
  </code></pre>
  
  <p>Returns ????
  <a href="https://i.stack.imgur.com/9Xw26.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/9Xw26.png" alt="Query Result Set"></a></p>
  
  <p>Please advise me on my ignorance to this matter.</p>
  
  <p>Thank you.</p>