Za pomocą dziesiętnych, pływak i rzeczywistych danych

decimal Typ danych można przechowywać maksymalnie 38 cyfr, z których po prawej stronie przecinka dziesiętnego.decimal Typ danych przechowuje dokładną reprezentację numer; nie ma żadnych zbliżenia wartości przechowywanej.

Dwa atrybuty, które definiują decimal kolumny, zmiennych i parametrów są:

  • p

    Określa dokładność lub liczbę cyfr, obiekt może pomieścić.

  • s

    Określa skalę lub liczbę cyfr, które mogą być umieszczone po prawej stronie przecinka dziesiętnego.

    p i s musi przestrzegać reguły: 0 <= s <= p <= 38.

Domyślna maksymalna dokładność numeric i decimal typów danych jest 38.W Transact-SQL, numeric funkcjonalnie odpowiada decimal typu danych.

Użyj decimal Typ danych do przechowywania liczb z miejscami dziesiętnymi, gdy wartości danych muszą być przechowywane dokładnie określone.

Aby uzyskać więcej informacji dotyczących sposobu matematyczne operacje mają wpływ na dokładność i Skala wynik, zobacz Precyzja, skala i długość (Transact-SQL).

Przy użyciu pływaka i rzeczywistych danych

float i real typy danych są znane jako typy danych przybliżone.Zachowanie float i real następuje specyfikacją IEEE 754 na typy przybliżonych danych liczbowych.

Przybliżone liczbowych typów danych nie przechowują dokładne wartości dla liczby; one przechowywać bardzo bliskie zbliżenia wartości.Dla wielu aplikacji mała różnica określona wartość i zbliżenia przechowywanych jest niezauważalne.Czasami jednak różnica staje zauważalne.Ze względu na charakter przybliżony float i real typy danych, należy używać tych typów danych, gdy dokładne liczbowe zachowanie jest wymagany, takich jak w aplikacjach finansowych, obejmującego zaokrąglania lub równości kontroli.Zamiast tego należy użyć wartości całkowitej, decimal, money, lub smallmoney typów danych.

Należy unikać float lub real kolumn w klauzula WHERE, warunki, szczególnie = wyszukiwania i <> operatorów.Warto ograniczyć float i real kolumny do > lub < porównań.

Specyfikacja IEEE 754 udostępnia cztery tryby zaokrąglania: zaokrąglanie do najbliższej, okrągłe, zaokrąglone niedziałający i zaokrąglić do zera.Microsoft SQL Server uses round up.Wszystkie są dokładne gwarantowanej dokładności, ale może spowodować nieznacznie różne wartości zmiennoprzecinkowe.Ponieważ reprezentacja binarna liczba zmiennoprzecinkowa mogą korzystać z jednego wiele schematów zaokrąglania prawnych, jest niemożliwe wiarygodne oszacowanie wartości zmiennoprzecinkowe.