Ich weiß, es trivialerweise in einer Nicht-SQL-Umgebung getan werden könnte [post-Datenverarbeitung, Frontend, was Sie hat], aber das ist nicht möglich, im Moment. Gibt es eine Möglichkeit, eine decimal(5,2)
und wandelt es in ein varchar
ohne die hinteren Nullen/Dezimalstellen zu nehmen? Zum Beispiel:Gibt es eine einfache Möglichkeit, Dezimalstellen in T-SQL zu formatieren?
declare @number decimal(5,2)
set @number = 123.00
select cast(@number as varchar) as FormattedNumber
Und das Ergebnis ist '123,00'. Gibt es einen (einfachen) Weg, stattdessen '123' zu bekommen? Und statt 123,30 auch 123,3? Könnte es tun, indem Sie herausfinden, ob die Hundertstel/Zehntel-Stellen 0 waren und die Zeichen manuell zugeschnitten haben, aber ich wollte wissen, ob es eine elegantere Lösung gab.
Ich würde die Daten unverändert aus der Datenbank zurückgeben und die Formatierung auf dem Front-End belassen. Gibt es einen Grund, warum Sie das nicht tun können? – AdaTheDev
Ja, wie ich schon sagte, es ist nicht wirklich eine Option - das Frontend ist, wie es aussieht, zu verallgemeinert, um spezielle Fälle der Formatierung bestimmter Felder zu haben (da sich die Anzahl der Spalten ändern kann) und keine andere Spalte formatiert sein, so ist das Einfachste, was ich sehe, einfach aus SQL zu machen. –
Mit SQL Server 2012+ Sie können die Funktion FORMAT() verwenden. Sie würden '#, ##' oder '#, ##. 0' als zweiten Parameter verwenden. msdn.microsoft.com/en-us/library/hh213505.aspx – Volvox