We have a legacy database with some (older) columns using "SQL_Latin1_General_CP1_CI_AS" and more recent changes have used "Latin1_General_CI_AS".
This is a pain as joins need the additional COLLATE statement to work.
I'd like to bring everything up to "Latin1_General_CI_AS". From what I can gather they are more or less identical collations and I won't lose data during this process...
Does anyone know if this is the case?
Here is a more complete answer:
The key difference between these collations is in how they apply character expansion rules. Certain Latin characters may be expanded into multiple characters. The SQL_xxxx collations may ignore these character expansions when working with non-unicode text, but apply them for unicode text. As a result: joins, sorts, and comparisons may return different results when using one collation versus the other.
Example:
Under Latin1_General_CI_AS
these two statements return the same set of records, as ß
is expanded to ss
.
SELECT * FROM MyTable3 WHERE Comments = 'strasse'
SELECT * FROM MyTable3 WHERE Comments = 'straße'
When using SQL_Latin1_General_CP1_CI_AS
the above statements return different records, since the ß
is treated as a different character than ss
.