Andreas: SQL Frage

Hallo,

weiß jemand wie man in SQL eine Zahl vom Datentyp float auf genau 3 Nachkommastellen runden kann. (Aus 2,1 soll 2,100 werden)
Ich benutze den SQL Server 2000.

Gruß Andreas

  1. »»(Aus 2,1 soll 2,100 werden)
    =>Warum sollte das den nötig sein bzw. funktionieren????

    Das z.B. aus 2,111 >> 2,100 wird ist klar. Wofür brauchst den die 2 00ler...?
    Mit welcher Sprache greifst du auf die DB zu???

    MFG
    Jungesmedium

    1. »»(Aus 2,1 soll 2,100 werden)
      =>Warum sollte das den nötig sein bzw. funktionieren????

      Der Kunde möchte das gerne so haben...

      Mit welcher Sprache greifst du auf die DB zu???

      Ich brauche eine Lösung in SQL.

      Gruß Andreas

      1. Der Kunde möchte das gerne so haben...

        => Wird mit den Zahlen nachdem aus der Datenbank kamen noch gerechnet oder geht es da nur um die Darstellung???

        Ich brauche eine Lösung in SQL.

        => Wenn du ein float zurück haben möchtes, dann wirst du die Zahl auch immer standartmäßig mit 3 Nachkommastellen speichern müssen.

        MFG
        Jungesmedium

  2. echo $begrüßung;

    weiß jemand wie man in SQL eine Zahl vom Datentyp float auf genau 3 Nachkommastellen runden kann.

    Das Handbuch deines Systems wird dir sagen, welche Funktionen zur Rundung es zur Verfügung stellt. Suche nach Funktionen die ceil, floor oder round heißen. Vielleicht heißen sie aber auch anders.

    Aus 2,1 soll 2,100 werden

    Wenn du nur die Ausgabe formatieren willst, nimm Ausgabeformatierfunktionen. "format" wäre ein gutes Suchstichwort.

    echo "$verabschiedung $name";

  3. Hallo Andreas,

    weiß jemand wie man in SQL eine Zahl vom Datentyp float auf genau 3 Nachkommastellen runden kann. (Aus 2,1 soll 2,100 werden)

    hast Du Dich hier verschrieben oder meinst Du das wirklich so?
    MS SQL Server 2000 kennt üblicherweise den Punkt als Dezimaltrennzeichen und nicht das Komma. Ich gehe also davon aus, dass Du Dich vertan hast.

    Ich benutze den SQL Server 2000.

    Eine Kombination der Funktion CAST und des Datentyps DECIMAL könnte Dir das gewünschte liefern:

    SELECT CAST(  -- CAST und CONVERT sind Umwandlungsfunktionen  
        2.1                      -- der umzuwandelnde Wert, auch eine Spalte ist möglich  
        AS DECIMAL(              -- möglicherweise Dein gewünschter Datentyp  
            20,                  -- Gesamtzahl der relevanten Stellen (vor und nach dem Dezimaltrennzeichen)  
            4                    -- Stellenzahl nach dem Dezimaltrennzeichen  
        )  
    )
    

    liefert Dir das gewünschte. Bitte beachte, dass die als Anzahl der relevanten Stellen (Precision) maximal 38 angegeben werden kann, d.h. Du hättest 34 Vorkommastellen, was Dir in den meisten Fällen wohl ausreichen sollte.

    Freundliche Grüße

    Vinzenz

    1. Funktioniert perfekt.
      Vielen Dank.

      Gruß Andreas