Spaltentyp ändern vom char nach float

Spaltentyp ändern vom char nach float

am 29.03.2006 11:51:16 von Armin Barth

hi,
wie kann man in einer schrottigen Datenbanktablle die Werte in der
Spalte Preis von char (xxxx.yy) nach float(6,2) oder decimal(6,2) ändern.
Hintergrund:
Die Spalte wurde zwar bei der Erstellung als float(6,2) angegeben,
aber die eingelsenen Werte sind alle char(fix)8 Werte mit Dezimalpunkt.
Gruß
Armin

Re: Spaltentyp ändernvom char nach float

am 29.03.2006 12:05:25 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: Spaltentyp ändern vom char nach float

am 29.03.2006 12:30:39 von Armin Barth

Andreas Kretschmer schrieb:
> begin Armin Barth schrieb:
>
>>hi,
>>wie kann man in einer schrottigen Datenbanktablle die Werte in der
>
>
> Wenn die Tabelle eh schon schrottig ist, warum entsorgst Du diese dann
> nicht?

Schöne Frage, sicher aus Bequemlichkeit, da die Rohdaten der ca. 10
Tabellen nur als .cvs bzw .txt vorliegen und händish neu angepsset
werden müssten.
>
>
>>Spalte Preis von char (xxxx.yy) nach float(6,2) oder decimal(6,2) ändern.
>>Hintergrund:
>>Die Spalte wurde zwar bei der Erstellung als float(6,2) angegeben,
>
> Wie jetzt: sie wurde als float(6,2)erstellt, enthält aber nun Text, den
> Du nach float(6,2) wandeln willst? Das klingt ja *wirklich* schrottig.
>
> Also, noch mal: erstellt als float(6,2), und nun ist char drin?
>
Ja, so ist es.
>
>>aber die eingelsenen Werte sind alle char(fix)8 Werte mit Dezimalpunkt.
>
> Vielleicht suchst Du nur eine geeignete Funktion zur Ausgabe des
> Inhaltes?
Vielleicht, die Daten werden in mehereren OOo Anwendungen verarbeitet,
d.h. es muss auch damit gerechnet werden, daher werden Zahlenwerte
benötigt.

Gruß
Armin

Re: Spaltentyp ändern vom char nach float

am 29.03.2006 12:33:20 von Axel Schwenke

Armin Barth wrote:

> wie kann man in einer schrottigen Datenbanktablle die Werte in der
> Spalte Preis von char (xxxx.yy) nach float(6,2) oder decimal(6,2) ändern.

Wenn das eine Frage sein soll, dann solltest du den Satz mit einem
Fragezeichen beenden. Ansonsten empfehle ich dir einen Blick in das
Manual. Falls du nicht weißt, wonach du suchen sollst: übersetze
"Ändere Tabelle" ins Englische ...

> Hintergrund:
> Die Spalte wurde zwar bei der Erstellung als float(6,2) angegeben,
> aber die eingelsenen Werte sind alle char(fix)8 Werte mit Dezimalpunkt.

Was ist denn nun der Typ der Spalte, FLOAT() oder CHAR() ?

Verwende DESC (oder SHOW CREATE TABLE oder SHOW
FIELDS FROM oder ...) um dir den Spaltentyp anzeigen zu
lassen.


XL

Re: Spaltentyp ändern vom char nach float

am 29.03.2006 12:33:53 von Christian Kirsch

Armin Barth schrieb:

> Vielleicht, die Daten werden in mehereren OOo Anwendungen verarbeitet,
> d.h. es muss auch damit gerechnet werden, daher werden Zahlenwerte
> benötigt.

Hast Du mal anch OOo, DB und Float gegoogelt? Ich glaube mich düster
erinnern zu können, dass es da irgendwelche 'Merkwürdigkeiten' gibt/gab.

Re: Spaltentyp ändernvom char nach float

am 29.03.2006 12:38:09 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: Spaltentyp ändern vom char nach float

am 29.03.2006 13:58:59 von Armin Barth

Axel Schwenke schrieb:
> Armin Barth wrote:
>
>
>>wie kann man in einer schrottigen Datenbanktablle die Werte in der
>>Spalte Preis von char (xxxx.yy) nach float(6,2) oder decimal(6,2) ändern.

>
> Verwende DESC (oder SHOW CREATE TABLE oder SHOW
> FIELDS FROM oder ...) um dir den Spaltentyp anzeigen zu
> lassen.

o.k. o.k. ich gebe ich geschlagen, der Fehler liegt offenbar nicht im
MySQL. Die FIELDS sind hier eindeutig als float gekennzeichnet.
--
Aber mein Problem bleibt.
OOo meint dass es sich um char()-Spalten handelt.

Ich ziehe mich zu Google zurück.

Gruß
Armin