Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
 Arithmetic overflow  [new]
sql_user2
Member

Откуда:
Сообщений: 382
Добрый день.

Есть процедура, которая выполняется ежедневно.

И при запуске за 1 день она вызывает ошибку:

Msg 8115, Level 16, State 6, Procedure ReportChequeFor1C, Line 33 Arithmetic overflow error converting float to data type numeric.



Подскажите пожалуйста как устранить эту ошибку?
14 мар 17, 18:24    [20294809]     Ответить | Цитировать Сообщить модератору
 Re: Arithmetic overflow  [new]
sql_user2
Member

Откуда:
Сообщений: 382
Ошибка появляется только при запуске за определенное число.
14 мар 17, 18:25    [20294810]     Ответить | Цитировать Сообщить модератору
 Re: Arithmetic overflow  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37228
Не конвертировать в numeric числа, которые вызывают переполнение.
14 мар 17, 18:25    [20294811]     Ответить | Цитировать Сообщить модератору
 Re: Arithmetic overflow  [new]
sql_user2
Member

Откуда:
Сообщений: 382
Microsoft SQL Server 2008 R2
14 мар 17, 18:26    [20294818]     Ответить | Цитировать Сообщить модератору
 Re: Arithmetic overflow  [new]
sql_user2
Member

Откуда:
Сообщений: 382
Гавриленко Сергей Алексеевич
Не конвертировать в numeric числа, которые вызывают переполнение.


а их можно как-нибудь запросом найти, эти числа?
14 мар 17, 18:26    [20294819]     Ответить | Цитировать Сообщить модератору
 Re: Arithmetic overflow  [new]
o-o
Guest
ну так показывайте процедуру-то.
или хотите, чтобы вам тут перечислили кучу примеров,
и все никаким боком к вашему случаю?
14 мар 17, 18:27    [20294821]     Ответить | Цитировать Сообщить модератору
 Re: Arithmetic overflow  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37228
sql_user2
Гавриленко Сергей Алексеевич
Не конвертировать в numeric числа, которые вызывают переполнение.


а их можно как-нибудь запросом найти, эти числа?
try_convert()
14 мар 17, 18:27    [20294824]     Ответить | Цитировать Сообщить модератору
 Re: Arithmetic overflow  [new]
sql_user2
Member

Откуда:
Сообщений: 382
само конвертирование вот так выглядит:
CONVERT(decimal(19,2), summa)
14 мар 17, 18:28    [20294825]     Ответить | Цитировать Сообщить модератору
 Re: Arithmetic overflow  [new]
sql_user2
Member

Откуда:
Сообщений: 382
o-o
ну так показывайте процедуру-то.
или хотите, чтобы вам тут перечислили кучу примеров,
и все никаким боком к вашему случаю?



она оооочень большая
14 мар 17, 18:28    [20294828]     Ответить | Цитировать Сообщить модератору
 Re: Arithmetic overflow  [new]
sql_user2
Member

Откуда:
Сообщений: 382
Гавриленко Сергей Алексеевич
sql_user2
пропущено...


а их можно как-нибудь запросом найти, эти числа?
try_convert()


он с 2012-го только работает :(
14 мар 17, 18:29    [20294831]     Ответить | Цитировать Сообщить модератору
 Re: Arithmetic overflow  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37228
sql_user2
она оооочень большая
Тут, похоже, программист нужен.
14 мар 17, 18:29    [20294832]     Ответить | Цитировать Сообщить модератору
 Re: Arithmetic overflow  [new]
o-o
Guest
sql_user2
Гавриленко Сергей Алексеевич
Не конвертировать в numeric числа, которые вызывают переполнение.


а их можно как-нибудь запросом найти, эти числа?

ну найдите, где у вас конвертация к нумерику,
посчитайте макс. число, к-ое влазит в ваш нумерик.
теперь фильтруйте все, что больше этого числа.
оно и переполняет
14 мар 17, 18:30    [20294834]     Ответить | Цитировать Сообщить модератору
 Re: Arithmetic overflow  [new]
o-o
Guest
sql_user2
само конвертирование вот так выглядит:
CONVERT(decimal(19,2), summa)

ну и посчитайте макс. число, влазящее в 19,2
14 мар 17, 18:31    [20294835]     Ответить | Цитировать Сообщить модератору
 Re: Arithmetic overflow  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6802
sql_user2
o-o
ну так показывайте процедуру-то.
или хотите, чтобы вам тут перечислили кучу примеров,
и все никаким боком к вашему случаю?



она оооочень большая
и чего вы хотите?
14 мар 17, 18:31    [20294836]     Ответить | Цитировать Сообщить модератору
 Re: Arithmetic overflow  [new]
sql_user2
Member

Откуда:
Сообщений: 382
o-o
sql_user2
само конвертирование вот так выглядит:
CONVERT(decimal(19,2), summa)

ну и посчитайте макс. число, влазящее в 19,2


считаю max по всем полям что там есть, пока даже близкого значения к переполнению не нашел
14 мар 17, 18:32    [20294839]     Ответить | Цитировать Сообщить модератору
 Re: Arithmetic overflow  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37228
sql_user2
считаю max по всем полям что там есть, пока даже близкого значения к переполнению не нашел
summa же, наверное, суму считать надо, не?
14 мар 17, 18:33    [20294841]     Ответить | Цитировать Сообщить модератору
 Re: Arithmetic overflow  [new]
sql_user2
Member

Откуда:
Сообщений: 382
во float запятую или како-нить еще символ не впихнуть наверное, так что только переполнение может быть, да?
14 мар 17, 18:33    [20294843]     Ответить | Цитировать Сообщить модератору
 Re: Arithmetic overflow  [new]
sql_user2
Member

Откуда:
Сообщений: 382
Гавриленко Сергей Алексеевич
sql_user2
считаю max по всем полям что там есть, пока даже близкого значения к переполнению не нашел
summa же, наверное, суму считать надо, не?



не, там сумма- это название поля в табличке
14 мар 17, 18:34    [20294845]     Ответить | Цитировать Сообщить модератору
 Re: Arithmetic overflow  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37228
sql_user2
во float запятую или како-нить еще символ не впихнуть наверное, так что только переполнение может быть, да?
Для кого английским по-белому написано "Arithmetic overflow"?
14 мар 17, 18:34    [20294847]     Ответить | Цитировать Сообщить модератору
 Re: Arithmetic overflow  [new]
sql_user2
Member

Откуда:
Сообщений: 382
Гавриленко Сергей Алексеевич
sql_user2
во float запятую или како-нить еще символ не впихнуть наверное, так что только переполнение может быть, да?
Для кого английским по-белому написано "Arithmetic overflow"?


т.е. там значение числа более 19 чисел слева от запятой, ок
14 мар 17, 18:42    [20294873]     Ответить | Цитировать Сообщить модератору
 Re: Arithmetic overflow  [new]
o-o
Guest
нет, там >19 цифр на всех, после зпт включительно
--------
а если оно еще и флоат,
то и составленное из 19 девяток число с зпт перед последними двумя тоже переполнит
14 мар 17, 18:44    [20294884]     Ответить | Цитировать Сообщить модератору
 Re: Arithmetic overflow  [new]
Руслан Дамирович
Member

Откуда: Резиновая нерезиновая
Сообщений: 942
o-o,

минус еще один "слот отожрет"
14 мар 17, 18:54    [20294917]     Ответить | Цитировать Сообщить модератору
 Re: Arithmetic overflow  [new]
sql_user2
Member

Откуда:
Сообщений: 382
а вот это не может быть?

https://support.microsoft.com/ru-ru/help/2686673/arithmetic-overflow-occurred-error-is-generated-in-the-avicode-intercept-log


или это совсем другое..
14 мар 17, 19:00    [20294925]     Ответить | Цитировать Сообщить модератору
 Re: Arithmetic overflow  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37228
sql_user2
а вот это не может быть?

https://support.microsoft.com/ru-ru/help/2686673/arithmetic-overflow-occurred-error-is-generated-in-the-avicode-intercept-log


или это совсем другое..
Мда... Вы хоть до конца читайте, что там написано.

Сообщение было отредактировано: 14 мар 17, 19:05
14 мар 17, 19:05    [20294937]     Ответить | Цитировать Сообщить модератору
 Re: Arithmetic overflow  [new]
sql_user2
Member

Откуда:
Сообщений: 382
В общем, проверил все поля всех таблиц, которые используются в процедурке - максимальное число 8801056037475
14 мар 17, 19:19    [20294985]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / Microsoft SQL Server Ответить