decimal und numeric (Transact-SQL)

Numerische Datentypen mit fester Genauigkeit und fester Anzahl von Dezimalstellen.

  • decimal[ **(**p[ **,**s] )] und numeric[ **(**p[ **,**s] )]
    Zahlen mit fester Genauigkeit und mit fester Anzahl von Dezimalstellen. Wenn maximale Genauigkeit verwendet wird, liegen gültige Werte zwischen - 10^38 +1 und 10^38 - 1. Die ISO-Synonyme für decimal sind dec und dec(p, s). numeric entspricht funktionell decimal.

  • p (Precision = Genauigkeit)
    Die maximal speicherbare Gesamtzahl an Dezimalstellen, sowohl links als auch rechts vom Dezimalkomma. Die Genauigkeit muss ein Wert zwischen 1 und der maximalen Genauigkeit von 38 sein. Der Standardwert lautet 18.

  • s (Dezimalstelle)
    Die maximal speicherbare Zahl an Dezimalstellen rechts vom Dezimalkomma. Der Dezimalstellenwert muss in einem Bereich zwischen 0 und p liegen. Der Dezimalstellenwert kann nur angegeben werden, wenn eine Genauigkeit angegeben ist. Der Standardwert ist 0; daher gilt: 0 <= s <= p. Die maximalen Speichergrößen variieren abhängig von der Genauigkeit.

    Precision

    Speicherplatz in Bytes

    1-9

    5

    10-19

    9

    20-28

    13

    29-38

    17