Preise und Beträge: Nullen wegschneiden



  • Ich habe eine MS SQL 2008 Datenbank und habe dort Preisangaben. 99% der Preise haben nur 2 Nachkommastellen. Ein paar wenige Preise sind haben mehr Stellen, zB 2,3456 Euro. Wenn ich jetzt die Preise aus der Datenbank hole, dann haben sie immer 4 Stellen nach dem Komma -> 99% der Preise haben hinten 2 Nullen. Kann ich die Nullen bei er Darstellung in einem DatagridView irgednwie wegschneiden?

    Wenn ich im Internet Suche, dann finde ich Lösungen die alle Nullen durch Leerzeichen ersetzen, dann die Leerzeichen mit LTRIM/RTRIM wegschneiden und dann wieder die Leerzeichen mit Nullen ersetzen. Ich nehme an für diese Aufgabe gibt es keinen eleganteren Weg?

    SELECT REPLACE(RTRIM(REPLACE(KaufPreisX, '0', ' ')), ' ', '0') FROM dbo.tab1



  • SELECT CONVERT(DECIMAL(10,2),Value)
    


  • Ich bin der Meinung das du damit nicht den SQL-Server belästigen solltest sondern es in deinem presentation layer behandeln solltest. 👍



  • Naja, mit "CONVERT(DECIMAL(10,2),Value)" schneide ich auch die Preise bei den wenigen Fällen weg wo Cent Bruchteile eingegeben sind.

    Ja, das wäre eine Möglichkeit. Den System.Data.SqlClient.SqlDataReader kann ich auch bearbeiten. Ich machs dann so.


Log in to reply