Als Teil einer gespeicherten SQL-Prozedur zu vermeiden (XML-Ausgabe erzeugt) I die folgende Zeile haben:Was ist der beste Weg, um dieses Stück von SQL neu zu formatieren die Tausende
FORMAT(Quantity * ld.UnitPrice, 'N2') AS '@value'
Dies produziert perfekt akzeptable Ergebnisse seit einigen Monaten. Letzte Woche jedoch der Dienst, in dem die XML, die diese Prozedur produziert, fehlgeschlagen ist, weil der Wert mehr als tausend Pfund (Pfund) war, was die folgende Ausgabe 1,049.60
produziert.
Es wäre schön gewesen, wenn die Servicedokumentation die Tatsache erwähnt hätte, dass es keine Kommas in den Werten mochte, die als Attribute zurückliefen, aber dieses Argument ist für einen anderen Tag.
Ich bin nach ein paar Tipps, wie die beste Möglichkeit, diese eine Zeile neu zu formatieren, so dass es nichts produziert, die Tausende trennt, mit anderen Worten, ich brauche es, um die folgenden 1049.60
oder etwas ähnliches zu produzieren, wenn ein Wert über eins Tausend Pfund ist angekommen. Es muss immer noch die zwei Dezimalstellen beibehalten.
Obwohl ich speziell Pfund Sterling in Wahrheit erwähnt habe, muss dieses Format kulturneutral sein, so dass alle Zahlen, die über tausend steigen, kein Trennzeichen haben.
Entfernen Sie die Funktion Format? Dann bei Bedarf konvertieren (dezimal (9,2), YourColumn) –
Danke, funktioniert gut. Perfekte Lösung. –
@SeanLange. . . Könnten Sie bitte Ihren Kommentar als Antwort hinzufügen, damit Dom sie akzeptieren kann? –