Convert Float -> char ohne Scientific notation (TSQL)

27/07/2009 - 10:17 von Christina Hess | Report spam
Hallo NG,

ich muss in einer TSQL-Anweisung ein Datenbankfeld vom Typ Float in einen
Varchar Konvertieren.

Convert(varchar, EAN)

Leider wird mir die EAN immer im wissentschaftlichen Format angezeigt, also
5.99867e+012, was natürlich für die EAN-Nummer nicht wirklich praktikabel
ist.

Wie kann ich die Daten konvertieren, sodass ich einfach nur die 13 Zahlen
der EAN bekomme?

Danke schonmal
Christina Heß
 

Lesen sie die antworten

#1 Günter Prossliner
27/07/2009 - 10:29 | Warnen spam
Hallo Christina!

ich muss in einer TSQL-Anweisung ein Datenbankfeld vom Typ Float in
einen Varchar Konvertieren.

Convert(varchar, EAN)

Leider wird mir die EAN immer im wissentschaftlichen Format
angezeigt, also 5.99867e+012, was natürlich für die EAN-Nummer nicht
wirklich
praktikabel ist.



Warum bitte wird die EAN in einem Feld vom Typ "float" gespeichert? Es
sollte doch zumindest ein Integer sein, oder besser noch ein String da Du
mit diesem ja nicht rechnen kannst.

Ausserdem sind Fließkommadatentypen nicht exakt d.h. Du hast
Rundungsdifferenzen und keine "Gleichheit" im eigentlichen Sind. Vergleiche
beruhen dann meist auf einem bestimmten Bereich d.h. eine Genauigkeit ist
gegeben. Solche Datentypen machen z.b. bei Messdaten oder auch bei
mathematischen Modellen Sinn (weil sie im Gegensatz zu Fixkommadatentpypen
sehr kleine oder auch sehr grosse Werte effizient darstellen können), nicht
aber für Geldbetràge und schon gar nicht für Erkennungsnummern wie ID's oder
EANs.


mfg GP

Ähnliche fragen