Агрегиране на numeric(18, 8)
с SUM
води до типа данни numeric(38, 8)
.
Как се изчислява полученият тип данни при умножаване на нещо с число може да се намери тук:Precision , мащаб и дължина (Transact-SQL)
Типът данни за вашата константа -1 е numeric(1, 0)
Точността е p1 + p2 + 1
=40
Мащабът е s1 + s2
=8
Максималната точност е 38 и това ви оставя с numeric(38, 6)
.
Прочетете повече за това защо е numeric(38, 6)
тук:Умножение и деление с числа