Brodi87 Geschrieben 21. August 2012 Teilen Geschrieben 21. August 2012 Ich möchte ein führendes Zeichen (,) entfernen, welches aber nur entfernt werden soll wenn es an 1. Position steht. Leider ist in MSSQL die Trimfunktion sehr spartanisch?! Beispiel: ,Max,Mustermann -> Max,Mustermann Maxi,Mustermann -> Maxi,Mustermann Was gibt es für Möglichkeiten? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
mepp Geschrieben 21. August 2012 Teilen Geschrieben 21. August 2012 (bearbeitet) Normalerweise hätte ich hier nur das Stichwort SUBSTRING gegeben. Da ich heute einen miesen Tag habe, muss es anderen ja aber nicht genauso ergehen: SELECT Name , CASE WHEN SUBSTRING(Name,1,1) = ',' THEN SUBSTRING(Name,2,LEN(Name)-1) ELSE Name END AS NameNeu FROM ( SELECT ',Max,Mustermann' AS Name ---> Max,Mustermann UNION SELECT 'Maxi,Mustermann' ---> Maxi,Mustermann ) names Bearbeitet 21. August 2012 von mepp Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Brodi87 Geschrieben 21. August 2012 Autor Teilen Geschrieben 21. August 2012 mal wieder ein brett vor dem Kopf! :upps auf die Idee hät ich auch kommen könn. Vielen Dank! Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Goos Geschrieben 21. August 2012 Teilen Geschrieben 21. August 2012 Ne andere Moeglichkeit waere z.B. SELECT Name , right(name,Len(name)-patindex(',%',name)) AS NameNeu FROM ( SELECT ',Max,Mustermann' AS Name ---> Max,Mustermann UNION SELECT 'Maxi,Mustermann' ---> Maxi,Mustermann ) names Goos Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Brodi87 Geschrieben 21. August 2012 Autor Teilen Geschrieben 21. August 2012 Nur als Info, da ich beide Lösungen einmal ausprobiert habe. die 2. Lösung funktioniert leider nicht! Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Goos Geschrieben 21. August 2012 Teilen Geschrieben 21. August 2012 Ui, das wundert mich nun aber. Auf meinem System funktionierts. Waerst so nett, Dein "funktioniert nicht" etwas naeher zu erlaeutern? Goos Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
streffin Geschrieben 21. August 2012 Teilen Geschrieben 21. August 2012 ich hätts vermutlich per CASE WHEN left(name,1) = ',' THEN right(name, len(name) -1) ELSE name END gemacht... Du kannst auch hingehn, dir ne CLR schreiben und dir Regular Expressions aus dem .Net Framework implementieren, ist was recht praktisches und managed Code ... das führt jetzt aber wohl zu weit. prinzipell sollte das aber eine recht lösbare Aufgabe sein Ps.: Mich würd auch interessieren was an Goos seiner Lösung falsch ist. Ich seh da auch nix ... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.