I have this SQL code
declare @s varchar(8000) = 'manoeuvre' select CHARINDEX(char(140), @s, 0)
char (140) = Œ which dose does not exist in string maneuvers. but the SQL server returns the following
4 (indicating that he found char (140) on this line)
If I replaced 'Œ' with '*', I get
man * uvre
it looks like SQL replaced "o" and "e" with one character, but why? why does it replace "oe" with "Œ"?
the same effect can be seen with the string 'mass' and 'ß' (which, I believe, is German for double s). replacing on this character, returns sting 'ma *'.
Is SQL an attempt to do something smart under covers?
EDIT Additional information:
SQL Server 2008 R2
The database mapping is Latin1_General_CI_AS.
Minty source share