Fragensteller
Umlaufehler schnell korrigieren

Allgemeine Diskussion
-
Hallo,
in unserer SQL-Server-Datenbank laufen Daten aus verschiedenen Systemen zusammen.
Leider haben wir immer wieder das Problem, das Umlaute in Straßennamen und Ortsbezeichnungen verhunzt dargestellt werden.
Um Abhilfe zu schaffen hatte ich mal eine Funktion gebaut mit der die diversen Fehler, die ich im Laufe der zeit gefunden habe größtenteils repariert werden. Als Problem stellt sich aber mittlerweile heraus, dass das ganze nicht besonders performant ist.
USE [master] GO /****** Object: UserDefinedFunction [dbo].[udf_replace_n] Script Date: 07/09/2013 13:58:58 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO ALTER FUNCTION [dbo].[udf_replace_n] (@str NVARCHAR(max)) RETURNS VARCHAR(max) AS BEGIN SET @str = REPLACE (@str, N'ä', N'ä') SET @str = REPLACE (@str, N'{', N'ä') SET @str = REPLACE (@str, N'Ä', N'A') SET @str = REPLACE (@str, N'ü', N'ü') SET @str = REPLACE (@str, N'#', N'ü') SET @str = REPLACE (@str, N'++', N'ü') SET @str = REPLACE (@str, N'}', N'ü') SET @str = REPLACE (@str, N'Ü', N'Ü') SET @str = REPLACE (@str, N'ö', N'ö') SET @str = REPLACE (@str, N'÷', N'ö') SET @str = REPLACE (@str, N'Â', N'ö') SET @str = REPLACE (@str, N'+Â', N'ö') SET @str = REPLACE (@str, N'Ö', N'Ö') SET @str = REPLACE (@str, N'|', N'ö') SET @str = REPLACE (@str, N'ß', N'ß') SET @str = REPLACE (@str, N'+ƒ', N'ß') SET @str = REPLACE (@str, N'~', N'ß') SET @str = REPLACE (@str, N'á', N'ß') SET @str = REPLACE (@str, N'á', N'ß') SET @str = REPLACE (@str, N'´', N'''') SET @str = REPLACE (@str, N'traáe', N'traße') SET @str = REPLACE (@str, N'"', N'') SET @str = REPLACE (@str, N'û', N'-') SET @str = REPLACE (@str, N'¯', N'ß') RETURN @str END
Hat jemand eine Idee, wie das besser gelöst werden kann?
Gruß
cheapy
- Typ geändert Ionut DumaModerator Dienstag, 16. Juli 2013 13:42 Keine Rueckmeldung des Fragenstellender
Alle Antworten
-
Hallo!
Wenn Du den Import nicht besser hinbekommst, könntest Du die ganzen REPLACE-Funktionen schachteln. Das könnte unter Umständen etwas bringen.
Diese Ersetzungen solltest Du natürlich nur auf den Import anwenden und nicht auf die gesamten Daten.
Einen schönen Tag noch,
Christoph Muthmann
Microsoft SQL Server MVP - Blog -
*******************************************************************************************************
Dieser Thread wurde mangels weiterer Beteiligung des Fragestellenden ohne bestätigte Lösung abgeschlossen.
Neue Rückfragen oder Ergänzungen zu diesem Thread bleiben weiterhin möglich.
*******************************************************************************************************- Bearbeitet Ionut DumaModerator Dienstag, 16. Juli 2013 13:41 Fehler