Проблема легко воспроизводится
declare @SumField7 decimal(5,2) = 123.45
raiserror ('...%d...', 16, 1, @SumField7)
Вы указываете %d
как спецификацию типа, которая представляет целое число со знаком , но передает его decimal
.Возможно, это никогда не проверялось в SQL Server 2000.
Похоже, что нет синтаксиса для decimal
заполнителей, и вам нужно будет вместо этого передать строку, как показано ниже.
declare @SumField7 decimal(5,2) = 123.45
declare @SumField7String varchar(7) = @SumField7
raiserror ('...%s...', 16, 1, @SumField7String)