title: Concatenating int and nvarchar column in TSQL
body: <p>I'm using MSSQL EXPRESS 2008 and I'm trying to concatenate the record's ID column with it's description column using the following query</p>
  
  <pre><code>SELECT CAST(GotoviProizvodi.ID as nvarchar(4)) + ' - ' + CAST(GotoviProizvodi.Opis as nvarchar(max)) AS Opis 
  FROM GotoviProizvodi,Recept 
  WHERE Recept.ID=@ID 
    AND Recept.Proizvod=GotoviProizvodi.Opis
  
  GotoviProizvodi.ID is defined in the schema as int   -- the ID column
  GotoviProizvodi.Opis is defined as nvarchar(200)   -- the description column
  </code></pre>
  
  <p>But, when I try to execute the query it yields this:</p>
  
  <blockquote>
    <p>Msg 245, Level 16, State 1, Procedure GetProizvodByReceptId, Line 2
    Conversion failed when converting the nvarchar value 'Test' to data type int.</p>
  </blockquote>
  
  <p>Why is it trying to convert it into int, when I'm explicitly telling it to convert it into nvarchar? Any workarounds?</p>