2016-08-25 7 views
0

У меня есть следующие сомнения относительно Microsoft SQL Server. Если столбец bigint имеет значение 0E-9, означает ли это, что эта ячейка может содержать значение с 9 десятичными знаками или что?Некоторые сомнения связаны с Microsoft SQL Server bigint

+1

мутноватый, пожалуйста, добавить больше деталей, '0e-9' (ноль не ах, как у вас, который недопустим) является '0' ... –

ответ

0

Нет, значение будет храниться как целое число. Любые десятичные суммы будут опущены и будут сохраняться только значения слева от десятичной дроби (без округления).

В частности, bigint хранит целые числа между -2^63 и 2^63-1.

1
BIGINT: -9,223,372,036,854,775,808 TO 9,223,372,036,854,775,807 
INT:  -2,147,483,648 TO 2,147,483,647 
SMALLINT: -32,768 TO 32,767 
TININT: 0 TO 255 

Они предназначены для хранения не десятичных значений. Вы должны использовать DECIMAL или NUMERIC для хранения значений shuch как 112.455. При использовании максимальной точности действительные значения составляют от -10^38 +1 до 10^38 - 1.

OE-9 не NUMERIC или INTEGER значение. Это VARCHAR, если вы не имеете в виду нечто иное, как научное обозначение.

https://msdn.microsoft.com/en-us/library/ms187746.aspx

https://msdn.microsoft.com/en-us/library/ms187745.aspx