Entwickler-Ecke

Datenbanken - MS-SQL Nachkommastellen(Dezimalstellen) erzwingen


Cyberaxx - Di 03.05.05 08:24
Titel: MS-SQL Nachkommastellen(Dezimalstellen) erzwingen
Hallo,

habe mit MS-SQL ein kleines Problem, und zwar möchte ich das mindestens zeri Dezimalstellen angezeigt werden egal ob der Wert Dezimalstellen beinhaltet.

Bsp.: 12,5, 14, 18,12455 -> 12.50, 14.00, 18.12

Der letzte Wert ist ja kein Problem, lasse einfach auf zwei Stellen runden aber ich bin mit der Suche am Ende und finde irgendwie nicht so das was ich Suche. Wenn ich z.b. den Wert einfach * 1.00 nehme formatiert er mir ihn dennoch nicht so. Kann mir da jemand vllt. weiterhelfen?

Danke schonmal im Vorraus.


bug0815 - Di 03.05.05 08:29

Bei der Ausgabe über Delphi könntest Du das Ganze mit

Delphi-Quelltext
1:
FloatToStrF(Wert, ffFixed, 72);                    

lösen.

Direkt über SQL sollte Dir der Befehl CAST oder CONVERT weiterhelfen.


bug0815 - Di 03.05.05 08:34

Habe noch was in der SQL Hilfe gefunden:

Dieses Beispiel konvertiert den float-Ausdruck 123,45 in eine Zeichenfolge, die sechs Zeichen lang ist und zwei Dezimalstellen hat.

Quelltext
1:
SELECT STR(123.45, 6, 2)                    


Cyberaxx - Di 03.05.05 08:37

Danke erstmal für die Schnelle Antwort. Zweite Lösung teste ich gleich mal, erste kommt leider nicht in frage weil ich die Daten an Rave Reports weiterleiten muss. da werden die Daten auch direkt aus dem Qry geholt, somit wäre meiner Meinung nach eine Umformatierung ein wenig umständlich.


bug0815 - Di 03.05.05 08:53

Auch über Rave kann man die Ausgaben formatieren. Habe das schon mal gemacht, finde aber leider die Quellen nicht mehr.

Zur Not mal in der nicht wirklich tollen Rave Hilfe oder hier im Forum danach suchen.


Cyberaxx - Di 03.05.05 08:57

user profile iconbug0815 hat folgendes geschrieben:
Habe noch was in der SQL Hilfe gefunden:

Dieses Beispiel konvertiert den float-Ausdruck 123,45 in eine Zeichenfolge, die sechs Zeichen lang ist und zwei Dezimalstellen hat.

Quelltext
1:
SELECT STR(123.45, 6, 2)                    


Das funktioniert vorerst prima dank Dir.

Ja ich weiss das es auch über Rave geht mit OnGetColls und OnGetRows aber selbst da habe ich auch ein Problem das er nur in einer Tabelle den ersten Wert Ständig übergibt. Die Hilfe dabei kannst zudem echt vergessen, schlauer wirst dadurch auch nicht immer wirklich.