Udostępnij za pośrednictwem


Za pomocą po przecinku, float i danych rzeczywistych

The decimal data type can store a maximum of 38 digits, all of which can be to the right of the decimal point.The decimal data type stores an exact representation of the number; there is no approximation of the stored value.

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

  • 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 and s musi przestrzegać reguły: 0 <= s <= p <= 38.

Domyślna maksymalna dokładności numeric i decimal typy danych to 38. W Transact-SQL, numeric funkcjonalnie odpowiada systemowi decimal Typ danych.

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

Aby uzyskać więcej informacji na temat sposobu mają wpływ na dokładność i Skala wyników operacji matematycznych, zobacz Precyzja, skala i długość (języka Transact-SQL).

Przy użyciu rzeczywistych danych i zmiennoprzecinkowych

The float and real data types are known as approximate data types.Zachowanie float i real zgodna ze specyfikacją IEEE 754 w przybliżeniu liczbowych typów danych.

Przybliżona liczbowych typów danych nie należy przechowywać dokładne wartości określone dla wielu numerów, ich przechowywanie bardzo blisko przybliżone wartości.Wiele aplikacji mała różnica określoną wartość i przechowywane zbliżenia nie jest widoczny.W czasie, różnica będzie widoczny.Ze względu na charakter przybliżony float i real typy danych, nie należy używać tych typów danych podczas Dokładny numeryczny zachowanie jest to konieczne, takich jak aplikacje finansowe, operacje dotyczące zaokrąglania lub równości kontroli. Zamiast tego należy użyć wartości całkowitej, decimal, money, lub smallmoney typy danych.

Należy unikać używania float lub real warunki, szczególnie = wyszukiwania kolumn w klauzula WHERE i <> operatory. Zaleca się ograniczenie float i real kolumny > lub < porównania.

Specyfikacja IEEE 754 udostępnia czterech trybów zaokrąglania: round to nearest, round up, round down, and round to zero.Microsoft SQL Server uses round up.Wszystkie są dokładne, z dokładnością gwarantowanej, które mogą być nieco inne wartości zmiennoprzecinkowe.Ponieważ reprezentacja binarna liczba zmiennoprzecinkowa mogą korzystać z jednego z wielu systemów zaokrąglania prawnych, nie można prawidłowo oszacowanie wartości zmiennoprzecinkowe.