Programmieren - alles kontrollieren 4.941 Themen, 20.715 Beiträge

Mit SQL doppelte Strings entfernen

Plumplori / 4 Antworten / Baumansicht Nickles

Hallo zusammen.


Ich habe folgendes Problem in meiner SQL Datenbank. Ich möchte ein Cleaning machen. Und zwar habe ich Feldeintrage (z.B. in der Spalte "Street") in der unsaubere Daten stehen zB "Musterstrasse1Musterstrasse1", wie kann ich diese per SQL Statement ausfindig machen?


Danke schonmal im vorraus


Sven

bei Antwort benachrichtigen
HADU Plumplori „Mit SQL doppelte Strings entfernen“
Optionen

Hi,

mit dem Befehl
SELECT @Laenge = LEN(@Adresse)
bekommst Du die Länge einer Zeichenfolge (hier @Adresse). Die teilst Du durch zwei.
Wenn jetzt LEFT(@Adresse, @Laenge) gleich ist mit RIGHT(@Adresse, @Laenge), dann ersetze @Adresse mit LEFT(@Adresse, @Laenge).

Gruß
HADU

bei Antwort benachrichtigen
Plumplori Nachtrag zu: „Mit SQL doppelte Strings entfernen“
Optionen

Hallo,

danke schonmal.

Aber wo für ich die Befehle aus, damit ich auch eine Ansicht habe was ich da mache? Enterprise Manager, Query Analyzer?

bei Antwort benachrichtigen
HADU Plumplori „Hallo, danke schonmal. Aber wo für ich die Befehle aus, damit ich auch eine...“
Optionen

Im Enterprise Manager könntest Du höchstens eine Stored Procedure schreiben.
Das richtige Tool ist der Query Analyzer.

HADU

bei Antwort benachrichtigen
Plumplori Nachtrag zu: „Mit SQL doppelte Strings entfernen“
Optionen

Super Vielen Dank!

Eine Frage aber noch, ich habe folgendes Statement:

USE OVWWCustomer
GO
DECLARE @Laenge int
DECLARE @Strasse nvarchar(100)

Select @Strasse = Street FROM OVContacts
Where Contactid = 6864

SELECT @Laenge = LEN(@Strasse)

SELECT @Laenge = @Laenge / 2

IF LEFT(@Strasse, @Laenge) = RIGHT(@Strasse, @Laenge)
BEGIN
SELECT @Laenge AS 'Länge', @Strasse AS 'Straße', RIGHT(@Strasse, @Laenge) AS 'Test'
END
ELSE
PRINT 'Möööp'

Funktioniert wunderbar, nur: Wie kann ich das ganze dynamisieren damit ich alle ContactIDs durchlaufe?

bei Antwort benachrichtigen