Brodi87 Geschrieben 21. August 2012 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?
mepp Geschrieben 21. August 2012 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
Brodi87 Geschrieben 21. August 2012 Autor Geschrieben 21. August 2012 mal wieder ein brett vor dem Kopf! :upps auf die Idee hät ich auch kommen könn. Vielen Dank!
Goos Geschrieben 21. August 2012 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
Brodi87 Geschrieben 21. August 2012 Autor Geschrieben 21. August 2012 Nur als Info, da ich beide Lösungen einmal ausprobiert habe. die 2. Lösung funktioniert leider nicht!
Goos Geschrieben 21. August 2012 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
streffin Geschrieben 21. August 2012 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 ...
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden