Ошибка арифметического переполнения при преобразовании numeric в тип данных numeric.
Привет эксперты,
Согласно моему пониманию
NUMERIC(18, 10)
столбец будет принимать 18 десятичных цифр слева от десятичной точки и 10 справа.Одна из наших процедур начала выдавать ошибку "арифметического переполнения при преобразовании числового типа данных в числовой" для гораздо меньших значений. Я проверил документацию в msdn http://msdn.microsoft.com/en-us/library/ms187746.aspx[^] что также, кажется, говорит то же самое. Есть ли что-то, чего мне здесь не хватает?
Пример:
SELECT CAST(1234567891234567.34 AS NUMERIC(18,2)) --Works SELECT CAST(1234567891234567.34 AS NUMERIC(18,10)) --fails with Arithmetic overflow error
Мы исправили эту проблему, изменив кастинг на
NUMERIC(18, 2)
но я хотел разобраться в проблеме немного глубже.
VJ Reddy
Спасибо тебе, Сарал со Сталин, за то, что принял решение :)