El siguiente SQL:
SELECT notes + 'SomeText'
FROM NotesTable a 
Dar el error:
Los tipos de datos nvarchar y text son incompatibles en el operador add.
                    
                        sql
                                sql-server
                                
                    
                    
                        Greg Ogle
fuente
                
                
            fuente

text4000 "enorme"nvarcharpara asegurarte de que casi cualquier cosa quepa?Es posible que también desee considerar valores NULL. En su ejemplo, si las notas de la columna tienen un valor nulo, el valor resultante será NULL. Si desea que los valores nulos se comporten como cadenas vacías (para que la respuesta sea 'SomeText'), utilice la función IsNull:
Select IsNull(Cast(notes as nvarchar(4000)),'') + 'SomeText' From NotesTable afuente
Si está utilizando SQL Server 2005 o superior, según el tamaño de los datos en el campo Notas, es posible que desee considerar la conversión a nvarchar (max) en lugar de la conversión a una longitud específica que podría resultar en el truncamiento de la cadena.
Select Cast(notes as nvarchar(max)) + 'SomeText' From NotesTable afuente
Debe convertir explícitamente los tipos de cadena en el mismo para concatenarlos. En su caso, puede resolver el problema simplemente agregando una 'N' delante de 'SomeText' (N'SomeText '). Si eso no funciona, intente Cast ('SomeText' as nvarchar (8)).
fuente
Otra opción es el comando CONCAT :
SELECT CONCAT(MyTable.TextColumn, 'Text') FROM MyTablefuente
Si está utilizando SQL Server 2005 (o superior), es posible que desee considerar cambiar a NVARCHAR (MAX) en la definición de su tabla; Los tipos de datos TEXT, NTEXT e IMAGE de SQL Server 2000 quedarán obsoletos en futuras versiones de SQL Server. SQL Server 2005 proporciona compatibilidad con versiones anteriores de los tipos de datos, pero probablemente debería utilizar VARCHAR (MAX), NVARCHAR (MAX) y VARBINARY (MAX) en su lugar.
fuente