<p>The following SQL:</p>

<pre><code>SELECT notes + 'SomeText'
FROM NotesTable a 
</code></pre>

<p>Give the error:</p>

<blockquote>
  <p>The data types nvarchar and text are incompatible in the add operator.</p>
</blockquote>

[{'answer_id': 54343, 'author': 'GateKiller', 'author_id': 383, 'author_profile': 'https://Stackoverflow.com/users/383', 'pm_score': 7, 'selected': True, 'text': "<p>The only way would be to convert your text field into an nvarchar field.</p>\n\n<pre><code>Select Cast(notes as nvarchar(4000)) + 'SomeText'\nFrom NotesTable a\n</code></pre>\n\n<p>Otherwise, I suggest doing the concatenation in your application.</p>\n"}, {'answer_id': 54357, 'author': 'Craig', 'author_id': 2894, 'author_profile': 'https://Stackoverflow.com/users/2894', 'pm_score': 3, 'selected': False, 'text': "<p>You have to explicitly cast the string types to the same in order to concatenate them,  In your case you may solve the issue by simply addig an 'N' in front of 'SomeText' (N'SomeText').  If that doesn't work, try Cast('SomeText' as nvarchar(8)).</p>\n"}, {'answer_id': 57061, 'author': 'Scott Nichols', 'author_id': 4299, 'author_profile': 'https://Stackoverflow.com/users/4299', 'pm_score': 4, 'selected': False, 'text': "<p>If you are using SQL Server 2005 or greater, depending on the size of the data in the Notes field, you may want to consider casting to nvarchar(max) instead of casting to a specific length which could result in string truncation.  </p>\n\n<pre><code>Select Cast(notes as nvarchar(max)) + 'SomeText' From NotesTable a\n</code></pre>\n"}, {'answer_id': 62119, 'author': 'edosoft', 'author_id': 6399, 'author_profile': 'https://Stackoverflow.com/users/6399', 'pm_score': 2, 'selected': False, 'text': '<p>If you are using SQL Server 2005 (or greater) you might want to consider switching to NVARCHAR(MAX) in your table definition; TEXT, NTEXT, and IMAGE data types of SQL Server 2000 will be deprecated in future versions of SQL Server. SQL Server 2005 provides backward compatibility to data types, but you should probably be using VARCHAR(MAX), NVARCHAR(MAX), and VARBINARY(MAX) instead.</p>\n'}, {'answer_id': 77130, 'author': 'Chris Wuestefeld', 'author_id': 10082, 'author_profile': 'https://Stackoverflow.com/users/10082', 'pm_score': 5, 'selected': False, 'text': "<p>You might want to consider NULL values as well. In your example, if the column <strong>notes</strong> has a null value, then the resulting value will be NULL. If you want the null values to behave as empty strings (so that the answer comes out 'SomeText'), then use the IsNull function: </p>\n\n<pre><code>Select IsNull(Cast(notes as nvarchar(4000)),'') + 'SomeText' From NotesTable a\n</code></pre>\n"}, {'answer_id': 48540394, 'author': 'David Gausmann', 'author_id': 1800813, 'author_profile': 'https://Stackoverflow.com/users/1800813', 'pm_score': 2, 'selected': False, 'text': '<p>Another option is the <a href="https://learn.microsoft.com/en-us/sql/t-sql/functions/concat-transact-sql" rel="noreferrer" title="CONCAT">CONCAT</a> command:</p>\n\n<pre><code>SELECT CONCAT(MyTable.TextColumn, \'Text\') FROM MyTable\n</code></pre>\n'}]
['https://Stackoverflow.com/questions/54334', 'https://Stackoverflow.com', 'https://Stackoverflow.com/users/2017/']