REPLACE SQL2005

21/09/2007 - 10:00 von Jürgen Volke | Report spam
Hallo NG,

wieso ergibt

select replace(replace('Mühlheim a.d. Ruhr','à','ae'),'ü','ue')

Muehlheim ae.d. Ruehr



bei Sortierung der Datenbank: Latin1_General_CS_AI



LG Jürgen
 

Lesen sie die antworten

#1 Elmar Boye
21/09/2007 - 10:47 | Warnen spam
Hallo Jürgen,

Jürgen Volke schrieb ...
wieso ergibt

select replace(replace('Mühlheim a.d. Ruhr','à','ae'),'ü','ue')

Muehlheim ae.d. Ruehr

bei Sortierung der Datenbank: Latin1_General_CS_AI



Weil bei akzent insensitiv Vergleichen die Diàrese (die Düttelchen)
nicht berücksichtigt wird. Dazu musst Du AS verwenden. Z. B.

SELECT @ch = 'a' , @chAccent = 'à'

SELECT
CASE WHEN @ch COLLATE Latin1_General_CS_AS
= @chAccent COLLATE Latin1_General_CS_AS
THEN 1 ELSE 0 END AS [Latin1_General_CS_AS]
, CASE WHEN @ch COLLATE Latin1_General_CI_AS
= @chAccent COLLATE Latin1_General_CI_AS
THEN 1 ELSE 0 END AS [Latin1_General_CI_AS]
, CASE WHEN @ch COLLATE Latin1_General_CI_AI
= @chAccent COLLATE Latin1_General_CI_AI
THEN 1 ELSE 0 END AS [Latin1_General_CI_AI]
, CASE WHEN @ch COLLATE Latin1_General_CS_AI
= @chAccent COLLATE Latin1_General_CS_AI
THEN 1 ELSE 0 END AS [Latin1_General_CS_AI]

Gruss
Elmar

Ähnliche fragen