|
Ошибка арифметического переполнения при преобразовании numeric к типу данных num | ☑ | ||
---|---|---|---|---|
0
olo_lo1
16.08.16
✎
14:37
|
Microsoft SQL Server Native Client 10.0: Ошибка арифметического переполнения при преобразовании numeric к типу данных numeric.
HRESULT=80040E57, SQLSrvr: SQLSTATE=22003, state=8, Severity=10, native=8115, line=1 Подскажите пож что делать. Пишу простой запрос в момент формирования вылетает ошибка ВЫБРАТЬ ТоварыНаСкладахОстаткиИОбороты.Склад, ТоварыНаСкладахОстаткиИОбороты.Номенклатура, ТоварыНаСкладахОстаткиИОбороты.СерияНоменклатуры, ТоварыНаСкладахОстаткиИОбороты.КоличествоНачальныйОстаток * ТоварыНаСкладахОстаткиИОбороты.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент / ТоварыНаСкладахОстаткиИОбороты.Номенклатура.ЕдиницаДляОтчетов.Коэффициент КАК Поле1, ТоварыНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток * ТоварыНаСкладахОстаткиИОбороты.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент / ТоварыНаСкладахОстаткиИОбороты.Номенклатура.ЕдиницаДляОтчетов.Коэффициент КАК Поле2, ТоварыНаСкладахОстаткиИОбороты.КоличествоОборот * ТоварыНаСкладахОстаткиИОбороты.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент / ТоварыНаСкладахОстаткиИОбороты.Номенклатура.ЕдиницаДляОтчетов.Коэффициент КАК Поле3, ТоварыНаСкладахОстаткиИОбороты.КоличествоПриход * ТоварыНаСкладахОстаткиИОбороты.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент / ТоварыНаСкладахОстаткиИОбороты.Номенклатура.ЕдиницаДляОтчетов.Коэффициент КАК Поле4, ТоварыНаСкладахОстаткиИОбороты.КоличествоРасход * ТоварыНаСкладахОстаткиИОбороты.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент / ТоварыНаСкладахОстаткиИОбороты.Номенклатура.ЕдиницаДляОтчетов.Коэффициент КАК Поле5 ИЗ РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты(, , , , ) КАК ТоварыНаСкладахОстаткиИОбороты |
|||
1
Горогуля
16.08.16
✎
14:38
|
гуглить
|
|||
2
piter3
16.08.16
✎
14:39
|
проще надо быть и не пихать в запрос все и вся
|
|||
3
PR
16.08.16
✎
14:40
|
(2) А что такого в этом запросе?
|
|||
4
olo_lo1
16.08.16
✎
14:42
|
(1) гуглил, через выразить нихера не работает такая же ошибка
(3) присоединяюсь к вопросу |
|||
5
PR
16.08.16
✎
14:43
|
Вообще, я так понимаю, проверять деление на ноль уже не модно?
|
|||
6
olo_lo1
16.08.16
✎
14:43
|
(5) Ошибка арифметического переполнения при преобразовании numeric к типу данных numeric
|
|||
7
olo_lo1
16.08.16
✎
14:44
|
(5) деление на 0 это другая ошибка, я был бы счастлив ее увидеть
|
|||
8
Mauser
16.08.16
✎
14:46
|
Подели и умножь
|
|||
9
piter3
16.08.16
✎
14:49
|
(3)слишком много длинных преобразований.Вариант решения выразить как число 15,2.
Или же все эти операции в выборке сделать |
|||
10
piter3
16.08.16
✎
14:49
|
(5) погоди может и вылезит
|
|||
11
olo_lo1
16.08.16
✎
15:00
|
Переделал, результат тот же
ВЫБРАТЬ ТоварыНаСкладахОстаткиИОбороты.Склад, ТоварыНаСкладахОстаткиИОбороты.Номенклатура, ТоварыНаСкладахОстаткиИОбороты.СерияНоменклатуры, ВЫРАЗИТЬ(ТоварыНаСкладахОстаткиИОбороты.КоличествоНачальныйОстаток * ТоварыНаСкладахОстаткиИОбороты.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент / ТоварыНаСкладахОстаткиИОбороты.Номенклатура.ЕдиницаДляОтчетов.Коэффициент КАК ЧИСЛО(15, 3)) КАК Поле1, ВЫРАЗИТЬ(ТоварыНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток * ТоварыНаСкладахОстаткиИОбороты.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент / ТоварыНаСкладахОстаткиИОбороты.Номенклатура.ЕдиницаДляОтчетов.Коэффициент КАК ЧИСЛО(15, 3)) КАК Поле2, ВЫРАЗИТЬ(ТоварыНаСкладахОстаткиИОбороты.КоличествоОборот * ТоварыНаСкладахОстаткиИОбороты.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент / ТоварыНаСкладахОстаткиИОбороты.Номенклатура.ЕдиницаДляОтчетов.Коэффициент КАК ЧИСЛО(15, 3)) КАК Поле3, ВЫРАЗИТЬ(ТоварыНаСкладахОстаткиИОбороты.КоличествоПриход * ТоварыНаСкладахОстаткиИОбороты.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент / ТоварыНаСкладахОстаткиИОбороты.Номенклатура.ЕдиницаДляОтчетов.Коэффициент КАК ЧИСЛО(15, 3)) КАК Поле4, ВЫРАЗИТЬ(ТоварыНаСкладахОстаткиИОбороты.КоличествоРасход * ТоварыНаСкладахОстаткиИОбороты.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент / ТоварыНаСкладахОстаткиИОбороты.Номенклатура.ЕдиницаДляОтчетов.Коэффициент КАК ЧИСЛО(15, 3)) КАК Поле5 ИЗ РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты(, , , , ) КАК ТоварыНаСкладахОстаткиИОбороты |
|||
12
olo_lo1
16.08.16
✎
15:06
|
хрень конечно странная но получилось вот так
если кто может подсказать природу ошибки буду блогодарен ВЫРАЗИТЬ(ТоварыНаСкладахОстаткиИОбороты.КоличествоНачальныйОстаток * (ТоварыНаСкладахОстаткиИОбороты.Номенклатура.ЕдиницаХраненияОстатков.Коэффициент / ТоварыНаСкладахОстаткиИОбороты.Номенклатура.ЕдиницаДляОтчетов.Коэффициент) КАК ЧИСЛО(15, 5)) |
|||
13
piter3
16.08.16
✎
15:07
|
(12) У тебя вместо 3 знаков после запятой 5
|
|||
14
PR
16.08.16
✎
15:08
|
(12) Только хотел предложить так сделать.
Попробуй выведи три поля по отдельности, напиши, что получилось. |
|||
15
olo_lo1
16.08.16
✎
15:18
|
да вывел все 4 поля, не ругается, херня какая то
|
|||
16
PR
16.08.16
✎
15:20
|
(15) Что херня?
Что получилось-то, какие значения? |
|||
17
Mauser
16.08.16
✎
15:25
|
(15) Порядок действий, родной.
У тебя в исходном коде сначала умножалось, потом делилось. При умножении и было переполнение. Сейчас ты сначала делишь, потом умножаешь. Про это в (8) и говорилось |
|||
18
olo_lo1
16.08.16
✎
15:28
|
(17) спасибо, теперь ясно
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |