Я получаю Арифметика ошибку переполнения преобразования VARCHAR к типу данных числовой. В моей сохраненной процедуре , хотя и только тогда, когда она должна выполнять вычисления. Вот мой код, я использую конверт все еще, кажется, что-то не так.Ошибка арифметического переполнения преобразования VARCHAR к типу данных числовыми в хранимой процедуре
set @Text = @Text + 'Something:' +
(select case when s.ATF = '' then '0'
else Convert(varchar,100 *((s.ATF *1.00)/
(s.Total * 1.00))) + '%'
end
from Maintenance.dbo.stats s
where s.ID = @ID) + CHAR(13) + CHAR(10)
Thanx!
Вам необходимо предоставить типы полей и параметров. Мое предположение: s.ID - varchar, а @ID - числовое. – adrianm
Собственно @ID переменная объявлена как VARCHAR, это работает, когда тот случай, когда возвращает «0» чувствует, что он не может получить расчет правильного – SterlinkArcher
@andrejcurcic, что является типом данных 's.ATF'? –