Каталог решений - Ошибка SQL: Arithmetic overflow error converting numeric to data type numeric

Ошибка SQL: Arithmetic overflow error converting numeric to data type numeric

Ошибка SQL: Arithmetic overflow error converting numeric to data type numeric

В наличии

Считаю количество строк в таблицах БД. Выскакивает ошибка.
Привожу описание моего случая и решение.

Категория:

Описание

По запросу "Arithmetic overflow error converting numeric to data type numeric" есть куча обсуждений и очень мало записано решений. Мой случай, вероятно, частный, но кого-то подтолкнет в направлении "куда копать".

SQL 2016 Standard
Платформа 8.3.18

При выполнении запросов к БД типа:

  Выбрать Сумма(1) Из РегистрНакопления.ТоварыКПоступлению
  Выбрать Сумма(1) Из Документ.ПриобретениеТоваровУслуг.Товары

Когда, количество строк > ~10 000 000, выдавалась ошибка:

  Microsoft SQL Server Native Client 11.0: Arithmetic overflow error converting numeric to data type numeric.
  HRESULT=80040E57, SQLSrvr: SQLSTATE=22003, state=8, Severity=10, native=8115, line=1

Решение

  Выбрать Сумма(Выразить(1 КАК Число(15,0))) Из РегистрНакопления.ТоварыКПоступлению

Добавлено преобразование типа Число к конкретной длине. Баг перестал воспроизводиться.

Коллеги, если сталкивались с ошибкой, в комментариях опишите причину сбоя, и, если знают — другие способы устранения.

has been added to your cart:
Оформление заказа