SQL Server, дающий арифметическое переполнение при вычислении в среднем

Реестр является остановкой. Вы не уверены, имеет ли пользователь, который использует Ваше приложение, достаточные права записать в реестр.

можно использовать app.config файл для сохранения настроек прикладного уровня (которые являются тем же для каждого пользователя, который использует приложение).

я сохранил бы определенные для пользователя настройки в XML-файле, который будет сохранен в Изолированное устройство хранения данных или в SpecialFolder. Каталог ApplicationData.

Рядом с этим, как от.NET 2.0, возможно сохранить значения назад к app.config файл.

46
задан Welbog 29 July 2009 в 12:07
поделиться

2 ответа

Внутренне SQL Server суммирует значения (для последующего деления на счетчик) и сохраняет их в типе данных столбцов - в данном случае int - которого недостаточно для хранения суммы. - если вы сначала передадите значение как bigint, оно будет суммировать значения, также сохраняя эти значения в bigint - что, вероятно, достаточно велико, тогда можно будет продолжить вычисление среднего.

select avg(cast(number as bigint)) from LargeNumbers
75
ответ дан 26 November 2019 в 20:29
поделиться

Вам нужно будет преобразовать число к чему-то большему, чем int, скажем, к большому целому числу, потому что для вычисления среднего SQL все значения суммируются как int, и здесь вы переполняетесь.

5
ответ дан 26 November 2019 в 20:29
поделиться
Другие вопросы по тегам:

Похожие вопросы: