Cannot resolve the collation conflict between “SQL_Latin1_General_CP1_CI_AS” and “Latin1_General_100_CI_AS” in the equal to operation.
in Italian
Impossibile risolvere il conflitto tra le regole di confronto “SQL_Latin1_General_CP1_CI_AS” e “Latin1_General_100_CI_AS” nell’operazione equal to.
Cannot resolve the collation conflict between…, SELECT command example
[sourcecode lang=”SQL”]
SELECT * FROM YourTableName1 One INNER JOIN YourTableName2 Two on One.YourColumnName = Two.OffendingColumn
[/sourcecode]
Cause:
You have two tables with different collation in the columns
Solution 1:
Use COLLATE Left or Right side of comparison in your SELECT command, for example:
[sourcecode lang=”SQL”]
SELECT * FROM YourTableName1 One INNER JOIN YourTableName2 Two on One.YourColumnName = Two.OffendingColumn COLLATE SQL_Latin1_General_CP1_CI_AS
[/sourcecode]
Solution 2:
Change collation of your OffendingColumn in one of your tables so you’ll have the same collation in for successive comparison
[sourcecode lang=”SQL”]
ALTER TABLE YourTableName
ALTER COLUMN OffendingColumn
VARCHAR(100) COLLATE Latin1_General_CI_AS NOT NULL
[/sourcecode]
Did my solution solve your problem? Leave a reply.
6 replies on “Cannot resolve the collation conflict between “SQL_Latin1_General_CP1_CI_AS” and “Latin1_General_100_CI_AS””
Excellent, worked perfectly Thank you
u
Thanks! Worked like a champ.
ALTER DATABASE test2 — put your database name here
COLLATE Latin1_General_CS_AS — replace with whatever collation you need
Try this
Excellent, worked perfectly Thank you!
Thanks, solved my problem