Neuigkeiten:

still alive...

Hauptmenü

Feldinhalte modifizieren klappt nicht

Begonnen von semaphor, 20. Oktober 2006, 06:23:55

Vorheriges Thema - Nächstes Thema

semaphor

Moin moin!
Bei diversen Einträgen einer Spalte wurden mal die führende Nullen vergessen.
Ich habe nun versucht diese im nachhinein zu ergänzen und zwar so:
UPDATE t_devices
SET d_msn = CONCAT(\'0\',d_msn)
WHERE left(d_msn,3) = \'200\'
in meinem Beispiel sieht das dann so aus
ist Zustand:
20012345
20012346
20012347
soll:
020012345
020012346
020012347
Ergebnis:
020012345
020012345020012346
020012345020012346020012347
D.h. die Ergänzung mit der \'0\' funktioniert und auch die Einschränkung mit \'200\' tut wie sie soll, allerdings ist es mir schleierhaft, warum der Inhalt der vorherigen Felder mitgeschleppt wird
Somit die Frage wie man das verhindert oder ob es eine elegantere Methode gibt das 0-Problem zu lösen.

Erbamen, zu spät, die Hessen kommen!


roosegfb

Nur für den Fall das Du damit beabsichtigst alle Nummern mit vorgestellten 0en auf die gleiche Länge zu bringen.
Dann versuchs mit Feldtyp int und zerofill Parameter. Dann kümmert sich stehts die Datenbank darum mit
0en aufzufüllen.

semaphor

Ja, genau das ist meine Absicht.
Die Umstellung auf INT ist nicht die Lösung, da es diese MSN in verschiedenen Versionene gibt, so z.B.
0200xxxx
10000005xxxxxxxx
WAYxxxxxxxx
D.h. für verschiedene Gerätetypen gibt es unterschiedlich lange Nummern und manche beinhalten auch alphanumerische Zeichen, somit bleibt nur Text übrig.
Feldinhalte modifizieren klappt nicht[/quote]
d.h. direkte Manipulation haut nicht hin ?
Somit bleibt nur der Umweg mit ex- und reimport oder mit php und Co..

Erbamen, zu spät, die Hessen kommen!


D.h. die Ergänzung mit der \\\'0\\\' funktioniert und auch die Einschränkung mit \\\'200\\\' tut wie sie soll, allerdings ist es mir schleierhaft, warum der Inhalt der vorherigen Felder mitgeschleppt wird[/quote]
Weil der Inhalt des vorhergehenden Feldes einfach immer im Speicher bleibt und mit angehangen wird.
d.h. direkte Manipulation haut nicht hin ?[/quote]
Du suchst http://dev.mysql.com/doc/refman/5.0/en/string-functions.html\" rel=\"external nofollow\">LPAD()

all your base are belong to us