Как я могу исправить эту ошибку в T-SQL?Следующая строка успешно выполняется:
SET @dPERCENT_QC_COMPLETED = CASE WHEN @NUM_QC_RECEIVED = 0
THEN 0
ELSE @NUM_QC_COMPLETED / @NUM_QC_RECEIVED
END
Но эта строка завершается ошибкой с кодом ошибки ниже:
SET @dPERCENT_QC_COMPLETED = CASE WHEN @NUM_QC_RECEIVED = 0
THEN 0
ELSE (100 * @NUM_QC_COMPLETED / @NUM_QC_RECEIVED)
END
Сообщение 8115, Уровень 16, Состояние 8, Строка 73 Ошибка преобразования арифметического переполнения втип данных числовой.
@ dPERCENT_QC_COMPLETED - десятичное число (2).Другие переменные являются целыми числами.Проблема, я думаю, состоит в том, что в настоящее время эти другие целочисленные значения = 1, поэтому это выражение оценивается в 1.