Leerzeichen aus String entfernen

Leerzeichen aus String entfernen

am 18.11.2007 21:55:09 von Stephan Dreisbach

Hallo,
ich muss in einer umfangreichen DB in einer Tabelle Leerzeichen aus
Strings entfernen (aus z.B. von der Bank muss vonderBank werden).
Ich könnte jetzt alles mit PHP auslesen, Leerzeichen entfernen und den
String wieder zurück schreiben. Kann man das auch mit einer DB-Abfrage
erledigen?

Stephan

Re: Leerzeichen aus String entfernen

am 18.11.2007 22:47:56 von Stephan Menzel

Hallo,

>Hallo,
>ich muss in einer umfangreichen DB in einer Tabelle Leerzeichen aus
>Strings entfernen (aus z.B. von der Bank muss vonderBank werden).
>Ich könnte jetzt alles mit PHP auslesen, Leerzeichen entfernen und den
>String wieder zurück schreiben. Kann man das auch mit einer DB-Abfrage
>erledigen?

SELECT REPLACE(' test test ', ' ', '');

+---------------------------------+
| REPLACE(' test test ', ' ', '') |
+---------------------------------+
| testtest |
+---------------------------------+
1 row in set (0.00 sec)


cu Stephan

Re: Leerzeichen aus String entfernen

am 19.11.2007 07:32:03 von Andreas Kretschmer

Andreas
--
Andreas Kretschmer
Linux - weil ich es mir wert bin!
GnuPG-ID 0x3FFF606C http://wwwkeys.de.pgp.net
Deutsche PostgreSQL User Group: http://pgug.de

Re: Leerzeichen aus String entfernen

am 19.11.2007 10:29:06 von Stephan Menzel

Hallo,

>begin Stephan Menzel schrieb:
>> Hallo,
>>
>>>Hallo,
>>>ich muss in einer umfangreichen DB in einer Tabelle Leerzeichen aus
>>>Strings entfernen (aus z.B. von der Bank muss vonderBank werden).
>>>Ich könnte jetzt alles mit PHP auslesen, Leerzeichen entfernen und den
>>>String wieder zurück schreiben. Kann man das auch mit einer DB-Abfrage
>>>erledigen?
>>
>> SELECT REPLACE(' test test ', ' ', '');
>>
>> +---------------------------------+
>> | REPLACE(' test test ', ' ', '') |
>> +---------------------------------+
>> | testtest |
>> +---------------------------------+
>> 1 row in set (0.00 sec)
>
>Fast richtig. Der Fragesteller wollte es IN DER DB ändern. Dazu braucht
>er dann noch ein UPDATE. Den Rest erklärt die Doku.
Was heisst hier fast richtig, soll ich jetzt Raten wie seine
"umfangreiche DB" aussieht!?
Wenn er mir keine Tabellen liefert, gehe ich mal davon aus das er es
soweit weiss wie eine Aktualisierung funktioniert und diese Hilfe
nicht benötigt und möchte!
Berichtige mich, ich kann natürlich auch den Kern der Frage falsch
verstanden haben, auch wenn im
"Subject:Leerzeichen aus String entfernen" steht!

Und wenn Du meinst das hinzuschreiben "Dazu braucht
er dann noch ein UPDATE." um dann auf die Doku zu verweisen, der
Weisheit letzter schluß is, ist es vielleicht Überlegenswert mit
hinzuschreiben wo die Doku ist, wenn Du den User schon so Unwissend
annimmst!


>
>
>end
>Andreas

cu Stephan

Re: Leerzeichen aus String entfernen

am 19.11.2007 10:43:32 von Andreas Kretschmer

Andreas
--
Andreas Kretschmer
Linux - weil ich es mir wert bin!
GnuPG-ID 0x3FFF606C http://wwwkeys.de.pgp.net
Deutsche PostgreSQL User Group: http://pgug.de

Re: Leerzeichen aus String entfernen

am 19.11.2007 11:18:45 von Stephan Menzel

Hallo,

>begin Stephan Menzel schrieb:
>>>>>ich muss in einer umfangreichen DB in einer Tabelle Leerzeichen aus
>>>>>Strings entfernen (aus z.B. von der Bank muss vonderBank werden).
>>>>>Ich könnte jetzt alles mit PHP auslesen, Leerzeichen entfernen und den
>>>>>String wieder zurück schreiben. Kann man das auch mit einer DB-Abfrage
>>>>>erledigen?
>>>>
>>>> SELECT REPLACE(' test test ', ' ', '');
>>>
>>>Fast richtig. Der Fragesteller wollte es IN DER DB ändern. Dazu braucht
>>>er dann noch ein UPDATE. Den Rest erklärt die Doku.
>
>Das war bisher.
>
>
>> Was heisst hier fast richtig, soll ich jetzt Raten wie seine
>> "umfangreiche DB" aussieht!?
>
>Nein. Aber er fragte, ob er das erst auslesen, mit PHP verwurschteln und
>dann wieder zurückschreiben muß oder gleich mit einer DB-Abfrage
>erledigen kann. Und ein SELECT ist halt knapp, aber dennoch an der Frage
>vorbei. Das war nicht persönlich gegen Dich gerichtet.

Das impliziert ja schon die Angabe des SELECTS das das die DB
erledigt, da es eine Funktion von MySQL ist!
Und wenn er nicht mehr info zur Verfügung stellt, muss er mit
knappheit leben!
Aber es stimmt auch ich hätte vor das SELECT noch ein "ja" einfügen
können! ;)

>
>
>> Wenn er mir keine Tabellen liefert, gehe ich mal davon aus das er es
>> soweit weiss wie eine Aktualisierung funktioniert und diese Hilfe
>> nicht benötigt und möchte!
>
>Die Frage des Fragestellers läßt mich diesen Satz anzweifeln.
>
>
>> Weisheit letzter schluß is, ist es vielleicht Überlegenswert mit
>> hinzuschreiben wo die Doku ist, wenn Du den User schon so Unwissend
>> annimmst!
>
>Vielleicht auch noch vorlesen? Hinfahren und machen? Kostenlos? Hallo?

Auf der einen Seite erwartest Du das sich der User selbst informiert
und auf der anderen ist dir selbst ein Link zu viel des guten!

>
>
>end
>Andreas

cu Stephan

Re: Leerzeichen aus String entfernen

am 19.11.2007 11:28:39 von Andreas Kretschmer

Andreas
--
Andreas Kretschmer
Linux - weil ich es mir wert bin!
GnuPG-ID 0x3FFF606C http://wwwkeys.de.pgp.net
Deutsche PostgreSQL User Group: http://pgug.de

Re: Leerzeichen aus String entfernen

am 19.11.2007 11:47:54 von Claus Reibenstein

Stephan Menzel schrieb:

>> begin Stephan Menzel schrieb:

Schade, dass man in SeaMonkey nur komplette Threads ausblenden kann und
nicht Teilthreads wie diese fruchtlose, polemische, alberne Diskussion
zwischen den Herren Kretschmer und Menzel ...

EOD. Bitte!

Gruß. Claus

Re: Leerzeichen aus String entfernen

am 19.11.2007 11:50:28 von Claus Reibenstein

Stephan Dreisbach schrieb:

> ich muss in einer umfangreichen DB in einer Tabelle Leerzeichen aus
> Strings entfernen (aus z.B. von der Bank muss vonderBank werden).

UPDATE tabelle SET spalte = REPLACE(spalte, ' ', '')
WHERE spalte LIKE '% %'

Gruß. Claus

Re: Leerzeichen aus String entfernen

am 19.11.2007 11:56:50 von Stephan Menzel

Hallo,

rein interesse halber
>Stephan Dreisbach schrieb:
>
>> ich muss in einer umfangreichen DB in einer Tabelle Leerzeichen aus
>> Strings entfernen (aus z.B. von der Bank muss vonderBank werden).

wäre das schneller
> UPDATE tabelle SET spalte = REPLACE(spalte, ' ', '')
> WHERE spalte LIKE '% %'

als

UPDATE tabelle SET spalte = REPLACE(spalte, ' ', '')

ohne where?

>
>Gruß. Claus

cu Stephan

Re: Leerzeichen aus String entfernen

am 19.11.2007 12:24:01 von Claus Reibenstein

Stephan Menzel schrieb:

> wäre das schneller
>
>> UPDATE tabelle SET spalte = REPLACE(spalte, ' ', '')
>> WHERE spalte LIKE '% %'
>
> als
>
> UPDATE tabelle SET spalte = REPLACE(spalte, ' ', '')
>
> ohne where?

Gute Frage :-)

Gruß. Claus

Re: Leerzeichen aus String entfernen

am 19.11.2007 15:38:53 von Thomas Rachel

Stephan Menzel schrieb:

> wäre das schneller
>> UPDATE tabelle SET spalte = REPLACE(spalte, ' ', '')
>> WHERE spalte LIKE '% %'
>
> als
>
> UPDATE tabelle SET spalte = REPLACE(spalte, ' ', '')
>
> ohne where?

Generell kann ein solches WHERE zwar die Auswahl einschränken, das Ganze
also schneller machen. Aber bei WHERE '% %' ist eh ein Full Table Scan
notwendig. Fragt sich hier nur, ist es schneller,

a) erst zu entscheiden, ist da ein ' ' drin, dann zu REPLACEN, nochmal
zu vergleichen und bei Abweichung zu UPDATEn, oder

b) pauschal alles zu REPLACEn und dann beim darauffolgenden Vergleich
auszufiltern?


Ich würde auf b) tippen, denn REPLACE muß genauso wie WHERE nach einem
' ' suchen. Aber der Unterschied dürfte marginal sein.


Thomas

Re: Leerzeichen aus String entfernen

am 19.11.2007 17:38:12 von Stephan Dreisbach

Stephan Dreisbach schrieb:

>Hallo,
>ich muss in einer umfangreichen DB in einer Tabelle Leerzeichen aus
>Strings entfernen (aus z.B. von der Bank muss vonderBank werden).
>Ich könnte jetzt alles mit PHP auslesen, Leerzeichen entfernen und den
>String wieder zurück schreiben. Kann man das auch mit einer DB-Abfrage
>erledigen?

Vielen Dank für _alle_ Tipps/Hinweise.

Stephan