I'm experiencing a very strange behavior when concatenating two nvarchar(20) columns with ' - ' into a nvarchar(100), in sql server 2005. Here's the simplified Update Statement:

UPDATE tbl3 SET tbl3.col1 = t1.col1+' - '+t2.col1 FROM tbl1 AS t1 INNER JOIN tbl2 AS t2 ON 1=1 INNER JOIN tbl3 AS t3 ON t3.col2 = t1.col2+t2.col2 ;

Here are the results for some records (the single quotes are not in the columns, just representing exactly where it starts and ends):

tbl1.col1:'Saídos'

tbl2.col1.1stRow:'Salário rendim.mens.'

tbl2.col1.2ndRow:'Assalariados por mês'

1st update:

tbl3.col1.1stRow:'Salário rendim.mens.'

tbl3.col1.2ndRow:'Saídos - Assalariados por mês'

2nd upate:

tbl3.col1.1stRow:'Saídos - SalÃ¡rio rendim.mens'

tbl3.col1.2ndRow:'Saídos - Assalariados por mÃª'

3nd upate:

tbl3.col1.1stRow:'Saídos - SalÃ¡rio rendim.mens'

tbl3.col1.2ndRow:'Saídos - Assalariados por mÃª'

4th upate:

tbl3.col1.1stRow:'Saídos - Salário rendim.mens.'

tbl3.col1.2ndRow:'Saídos - Assalariados por mÃª'

As said, tbl1.col1 and tbl2.col1 are nvarchar(20), and tbl3.col1 is nvarchar(100) All the 3 columns have, in table designer, Collation set to , and database Collation is set to Latin1_General_CI_AS.

Any help or troubleshoot is most welcomed, thanks!