8 messages in com.mysql.lists.mysql-deRe: Zeilenumbruch aus varchar Feld en...
FromSent OnAttachments
Stef...@evf.de06 Sep 2006 22:39 
Martin Fernau06 Sep 2006 23:44 
Thilo Hardt06 Sep 2006 23:45 
Sebastian Mendel08 Sep 2006 02:55 
Martin Fernau08 Sep 2006 04:32 
René Thiel08 Sep 2006 07:07 
Martin Fernau08 Sep 2006 07:35 
René Thiel08 Sep 2006 08:15 
Subject:Re: Zeilenumbruch aus varchar Feld entfernen
From:Martin Fernau (m.fe@cps-net.de)
Date:09/08/2006 07:35:10 AM
List:com.mysql.lists.mysql-de

Am Freitag, 8. September 2006 16:07 schrieb René Thiel:

Nun ist meine Antwort wieder an die falsche Adresse gegangen :-(((

Ich kenne das Problem. Da lobe ich mir Kmail mit dem Knopf "an die Maillingliste antworten" ;-)

Martin schrieb:

UPDATE tbl_Daten set Drive=SUBSTRING(Drive,1);

Jetzt hast Du allerdings in allen Deinen Datensätzen bereits das erste Zeichen entfernt...

Nicht entfernt, SUBSTRING(Drive,1) meint: ab der ersten Stelle.

Korrekt. Und genau das habe ich gesagt. SUBSTRING(s, pos) liefert den rechten Teil von s AB der Stelle pos. Und da pos=1 ist, wird das erste Zeichen abgeschnitten. Denn pos=0 ist die äußest LINKE Position.

Richtig wäre: SUBSTRING(Drive,1,1) -> ein Zeichen ab der ersten Stelle.

Nein, wäre es leider nicht. Denn damit würdest Du nur ein einziges Zeichen bekommen. Er hat aber das Ergebnis von SUBSTRING wieder in die DB geschrieben: UPDATE tbl_Daten set Drive=SUBSTRING(Drive,1); Abgesehen davon ist ein Zeilenumbruch in der Mysql-DB immernoch 2 Zeichen lang. Zumindest ist das bei mir so. Nämlich CR+LF (also ASCII 13 und 10).

Meine Lösung habe ich hier sogar mal getestet und sie funktioniert problemlos. Vorteil meiner Lösung ist dabei, dass der Zeilenumbruch überall stehen kann. Und da ich nicht genau weiss wo die Zeilenumbrüche bei ihm vorkommen, war es meiner Ansicht nach die Lösung, die auf jeden Fall funktionieren müsste.

Grüße, Martin