decimal(10, 10)
означает все десятичные разряды, без цифр слева от десятичной точки!
см. Здесь: http://msdn.microsoft.com/en-us/library/aa258832(SQL.80).aspx_
десятичный [(p [, s])]
p (точность) Указывает максимальное общее количество десятичных цифр
которые могут быть сохранены, как слева
и справа от десятичной точки.
Точность должна быть от 1
через максимальную точность.
максимальная точность 38. По умолчанию
точность 18.
с (масштаб) Указывает максимальное количество десятичных цифр, которое может быть
хранится справа от десятичной
точка. Масштаб должен быть значением от 0
через стр. Масштаб может быть указан только
если указана точность. По умолчанию
шкала 0; следовательно, 0 <= s <= p.
Максимальные размеры хранилища варьируются в зависимости от
точность. </p>
decimal(11,10)
дает вам 1 цифру слева от десятичной дроби и 10 справа, поэтому целое число 1 теперь подходит!
EDIT
при использовании: decimal(p,s)
, думайте о p
как общее количество цифр (независимо от левой или правой части десятичной точки), которое вы хотите сохранить, и s
как о количестве этих p
цифр находиться справа от десятичной точки.
DECIMAL(10,5)= 12345.12345
DECIMAL(10,2)= 12345678.12
DECIMAL(10,10)= .1234567891
DECIMAL(11,10)= 1.1234567891