NUMERIC_ROUNDABORT и arithmetic overflow
От: Saruwatari Россия  
Дата: 13.05.09 18:14
Оценка:
MSSQL 2005

У меня есть проблема с потерей точности...
Вот код, который генерит сообщение: 'Arithmetic overflow error converting numeric to data type numeric.'
SET NUMERIC_ROUNDABORT ON
DECLARE
    @X DECIMAL(15,5),
   @Y DECIMAL(15,5)
 
SET @X = 10000000.00000
 
SELECT SUM(N*N) FROM (
             SELECT @X * @X AS 'N'
 UNION ALL SELECT @X * @X AS 'N'
 UNION ALL SELECT @X * @X AS 'N'
 UNION ALL SELECT @X * @X AS 'N'
) T

Мне нужно оставить SET NUMERIC_ROUNDABORT ON и убрать сообщение о потере точности с помощью конфертации или подгонки типов.
Такое вообще можно сделать?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.