February 12, 2020 11:46 by
Peter
ERROR - "Cannot resolve the collation conflict between SQL_Latin1_General_CP1_CI_AS and Latin1_General_CI_AS_KS_WS within the up to operation."
Don’t panic if you get this error while joining your tables. there's an easy way to solve this. It happens because of the different collation settings on 2 columns we are joining.
The first step is to figure out what are the two collations that have caused the conflicts.
Let us assume that collation has not been set at the column level and instead at the db level. Then, we've to execute two straightforward statements as below.
Statements
- Select DATABASEPROPERTYYEX('DB1',N'Collation')
- Select DATABASEPROPERTYYEX('DB2',N'Collation')
One more thing to make a note of here is that if you are on SharePoint, you will get an error as following.
Latin_General_CI_AS_KS_WS.
If you are on any other database and use the default settings, you may get this SQL_Latin_General_CP1_CI_AS.
Now, we have to do something similar to CAST, called Collate (FOR Collation).
Refer to the example below.
select * from Demo1.dbo.Employee emp
join Demo2.dbo.Details dt
on (emp.email =dt.email COLLATE SQL_Latin_General_CP1_CI_AS)
HostForLIFE.eu SQL Server 2016 Hosting
HostForLIFE.eu is European Windows Hosting Provider which focuses on Windows Platform only. We deliver on-demand hosting solutions including Shared hosting, Reseller Hosting, Cloud Hosting, Dedicated Servers, and IT as a Service for companies of all sizes.