Microsoft MVPs inside





 MCSEboard.de – IT Pro Forum zu Windows Server 2008 R2 / 2008 / 2003 & Windows 7 / Vista / XP
Registrieren Hilfe Regeln Benutzerliste Suchen Heutige Beiträge Alle Foren als gelesen markieren

MS SQL Server Forum


Alles zum Thema Microsoft SQL Server — Q & A zu Microsoft SQL Server 2000 / 2005 / 2008 Architektur, Konfiguration, Troubleshooting


Antwort
     
Themen-Optionen
Alt 14.11.2011, 12:57   #1
Newbie
 
Offline
Registriert seit: 11-2011
Beiträge: 3
Suchen und Löschen nach bestimmter Zeichenanzahl

Hallo,

ich suche aktuell eine Lösung zum Anzeigen des Zeichens / der Zeichenkette ';' (Semikolon) innerhalb einer Spalte (ca. 250.000 Einträge), wenn dieses mindestens zweimal vorkommt.

Darüber hinaus soll im zweiten Schritt alle Zeichen nach dem zweiten Semikolon gelöscht werden.


Hat jemand eine Idee?

Danke vorab.
    Mit Zitat antworten
Alt 14.11.2011, 13:40   #2
Newbie
 
Offline
Registriert seit: 11-2011
Beiträge: 3
Zur Suche nach mit zwei oder mehr Zeichen habe ich eine Variante gefunden. Vielleicht gibt es auch noch bessere:

select spalte from tabelle where spalte LIKE '%;%;%' ;

Nun brauche immer noch die Lösung für das Löschen der Zeichen nach und/oder inkl. dem zweiten Semikolon.

Danke.
    Mit Zitat antworten
Alt 15.11.2011, 11:41   #3
Board Veteran
 
Offline
Registriert seit: 08-2007
Beiträge: 672
Hm...
Ohne es mit SQL zu machen....
Export zu CSV, CVS in Excel bearbeiten, CSV import
    Mit Zitat antworten
Alt 15.11.2011, 17:56   #4
Expert Member
 
Benutzerbild von phoenixcp
 
Offline
Registriert seit: 02-2004
Ort: Radebeul
Beiträge: 5.470
Dein "Befehl" der Wahl: REPLACE
REPLACE (Transact-SQL)

Gruß
Carsten

Signatur
MfG

Carsten Paul
MCSEBoard.de SQL Blog
Kein Support per PN, dafür ist das Forum da!

In Memory of LukasB

    Mit Zitat antworten
Alt 01.02.2012, 17:50   #5
Newbie
 
Offline
Registriert seit: 11-2011
Beiträge: 3
Zitat von phoenixcp Beitrag anzeigen
Dein "Befehl" der Wahl: REPLACE
REPLACE (Transact-SQL)

Gruß
Carsten
Leider komme ich mit dem einfachen REPLACE nicht weiter.

Ausgangsbeispiele (Beispielzelle):

meier lh10; müller gf3; schulz 01

Ergebnis soll so aussehen:

meier lh10; müller gf3

oder

meier lh10; müller gf3;

Meine Vorstellungen mit einen einfachen Replace funktionieren leider nicht.

Beispiel-Statement:
UPDATE Exemplar SET Spalte = REPLACE(Spalte, '%;%;%', '%;%;');

Hinweis: Die Anzahl der Zeichen zwischen den Semikolons ist nicht eindeutig.

Ich möchte "nur" alle Zeichen nach dem zweiten Semikolon entfernen/löschen.

Vielleicht hat noch einer eine Idee.

Danke und Gruß
    Mit Zitat antworten
Alt 04.02.2012, 21:02   #6
Board Veteran
 
Offline
Registriert seit: 07-2005
Ort: Hamburg
Beiträge: 524
Hallo,
das sollte klappen:

UPDATE Exemplar
SET Spalte = LEFT(Spalte, CHARINDEX(';', Spalte, CHARINDEX(';', Spalte)+1))
WHERE Spalte LIKE '%;%;%'

Das innerste CHARINDEX findet das erste Semikolon (Position).
Auf diese Position wird eine 1 addiert und dem zweiten CHARINDEX als Startwert der Suche übergeben.
Nun findet das zweite CHARINDEX die Position des zweiten Semikolon, das nun an LEFT übergeben wird.
LEFT bildet dann den neuen String.
Wichtig: mit WHERE muss(!) garantiert werden, dass die zu ändernden Strings auch mindestens 2 Semikolon enthalten, sonst gibt es leere Spalten.

CHARINDEX (Transact-SQL)

Am besten erstmal mit SELECT testen:

SELECT LEFT(Spalte, CHARINDEX(';', Spalte, CHARINDEX(';', Spalte)+1))
FROM Exemplar
WHERE Spalte LIKE '%;%;%'


Gruß Kai
    Mit Zitat antworten
Alt 04.02.2012, 21:39   #7
Expert Member
 
Benutzerbild von NilsK
 
Offline
Registriert seit: 06-2008
Ort: Hannover
Beiträge: 7.376
Moin,

und ausgehend von diesem Problem solltest du mal darüber nachdenken, die Tabelle zu normalisieren.

Gruß, Nils

Signatur
Nils Kaczenski

MVP Directory Services: Architecture
... der beste Schritt zur Problemlösung: Anforderungen definieren!

Kostenlosen Support gibt es nur im Forum, nicht privat!

    Mit Zitat antworten
Antwort


Themen-Optionen


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Tool zum Suchen bestimmter Daten auf einem Windows 2003 File-Server AFM_Adm Windows Server Forum 2 30.06.2008 12:57
Nach Themen zu bestimmter Prüfung suchen toad Off Topic 1 14.03.2008 10:51
Löschen bestimmter Dateien per batch Sven Eichler Windows Forum — Allgemein 4 30.01.2006 16:41
Script zum löschen bestimmter Dateien Thorre Windows Server Forum 1 05.01.2006 07:42
2K3 - Profile nach bestimmter Zeit löschen Deepnine Windows Forum — LAN & WAN 1 16.02.2004 21:31


Alle Zeitangaben in MEZ/CET. Es ist jetzt 23:19 Uhr. Seite generiert in 0,030 Sekunden.

- Unsere Partner -

Copyright © 2000 – 2012 MCSEboard.de

Sprung zum Seitenanfang