powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Ошибка запроса (переполнение) в SUM - призведение двух NUMERIC
23 сообщений из 23, страница 1 из 1
Ошибка запроса (переполнение) в SUM - призведение двух NUMERIC
    #40064363
EvgErmak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть 2 поля
KOL Numeric(18,3)
CENA Numeric(18,10)

Запрос Select sum(KOL * CENA)
Выдает ошибку переполнения Integer overflow

Что сделать?
...
Рейтинг: 0 / 0
Ошибка запроса (переполнение) в SUM - призведение двух NUMERIC
    #40064367
EvgErmak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Еще установил
select sum(cena*1000000) срабатывает
select sum(cena*10000000) переполнение
...
Рейтинг: 0 / 0
Ошибка запроса (переполнение) в SUM - призведение двух NUMERIC
    #40064371
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EvgErmak,

для начала надо правильно выбирать размерность полей.

Что это у вас за количество 0.001 может быть? Или цена с 10 знаками после запятой?
...
Рейтинг: 0 / 0
Ошибка запроса (переполнение) в SUM - призведение двух NUMERIC
    #40064384
a7exander
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EvgErmak,

если не ошибаюсь, результат такого умножения будет NUMERIC(18,13) сами подумайте влезет ли туда результат)

подсказка - 18 это общее количество знаков, а не до запятой
...
Рейтинг: 0 / 0
Ошибка запроса (переполнение) в SUM - призведение двух NUMERIC
    #40064409
EvgErmak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
так получилось
select sum(cast(cena as DOUBLE PRECISION)*cast(kol as DOUBLE PRECISION))
...
Рейтинг: 0 / 0
Ошибка запроса (переполнение) в SUM - призведение двух NUMERIC
    #40064411
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EvgErmak,

замести мусор под ковёр у тебя получилось. Вместо того чтобы правильно спроектировать БД занимаемся какими-то cast.
Ещё раз задам вопрос зачем в поле цена (CENA) предусмотрено 10 знаков после запятой?
...
Рейтинг: 0 / 0
Ошибка запроса (переполнение) в SUM - призведение двух NUMERIC
    #40064431
Шавлюк Евгений
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денис,

Это же очевидно - в биткоинах считать!


EvgErmak
так получилось
select sum(cast(cena as DOUBLE PRECISION)*cast(kol as DOUBLE PRECISION))


Удобнее так
Код: sql
1.
select sum(1e0 * cena * kol)
...
Рейтинг: 0 / 0
Ошибка запроса (переполнение) в SUM - призведение двух NUMERIC
    #40064441
Ivan_Pisarevsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денис
Что это у вас за количество 0.001 может быть?
Типовая упаковка обычного ламината. Очень многим удобно считать цену за кв. метр, а продавать коробками. Просто как пример.

Цена с пятью знаками - это к газпрому. Цена за кубометр газа для населения, тот еще дурдом.
...
Рейтинг: 0 / 0
Ошибка запроса (переполнение) в SUM - призведение двух NUMERIC
    #40064442
EvgErmak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денис,

Cena Numeric (18,10) - десять знаков после запятой
...
Рейтинг: 0 / 0
Ошибка запроса (переполнение) в SUM - призведение двух NUMERIC
    #40064447
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EvgErmak,

я и так понимаю, что там 10 знаков после запятой. Я спрашиваю зачем?
Что у вас за цены такие?
...
Рейтинг: 0 / 0
Ошибка запроса (переполнение) в SUM - призведение двух NUMERIC
    #40064456
Шавлюк Евгений
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денис,

Количество 0,001 у меня используется для граммов, для товаров с единицей измерения "кг"
...
Рейтинг: 0 / 0
Ошибка запроса (переполнение) в SUM - призведение двух NUMERIC
    #40064457
EvgErmak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денис,

Для учета средней цены списания и иногда приход
в приходе иногда просят расчитать цену = сумма прихода / количество



В общем держу количество цена сумма
раньше делал Sum(сумма), затем Sum(количество*цена) (хотел сравнить точность в запросах)
вернулся снова к Sum(сумма)
...
Рейтинг: 0 / 0
Ошибка запроса (переполнение) в SUM - призведение двух NUMERIC
    #40064462
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
21.04.2021 14:40, EvgErmak пишет:
> Для учета средней цены списания и иногда приход
> в приходе иногда просят расчитать цену = сумма прихода / количество

вам бы бухгалтера...
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Ошибка запроса (переполнение) в SUM - призведение двух NUMERIC
    #40064524
Фотография Старый плюшевый мишка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Джентльмены. Позвольте напомнить вам античную аксиому - то, что мы считаем, должно представляться целым числом, а то, что меряем - плавающим. То есть, количество у базы внутре завсегда должно быть целым. А для вывода на экран и всяких отчётов существуют коэффициенты и таблицы соответствия единиц измерения, типа скока весит одна штука вот этой хрени в граммах. Существуют хрени, для которых основной единицей измерения является нечто вроде веса, а всякие мешки-пакеты и даже (облизываясь) бутылки - вторичными единицами. Что также решается таблицами такого типа. А количество типа "вес" один всё равно хранится целочисленно, с максимально возможной потребной на практике точностью, у кого в килограммах, у кого в граммах, у кого в микрограммах.
...
Рейтинг: 0 / 0
Ошибка запроса (переполнение) в SUM - призведение двух NUMERIC
    #40064548
EvgErmak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Старый плюшевый мишка,

Количество хорошо держится нумериком, проблемы с ценой

У нас 3 поля
кол-во (18,3)
цена (18,10)
стоимость (18,2) = (кол-во * цена) округление до двух знаков после запятой

Списываем по средним ценам со склада

Расчет средней цены

Формула 1
(Сумма стоимостей приходов - Сумма стоимостей расходов)




Списание по средним ценам
...
Рейтинг: 0 / 0
Ошибка запроса (переполнение) в SUM - призведение двух NUMERIC
    #40064556
EvgErmak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Формула 1
(Сумма стоимостей приходов - Сумма стоимостей расходов) / кол-во приходов - кол-во расходов

Формула 2
(Сумма приходов (кол-во*цена) - Сумма расходов(кол-во*цена) ) / кол-во приходов - кол-во расходов

во второй формуле меньше погрешностей округления

Идеал по идущим друг за другом списаниям одинаковая цена, у меня плывет 6 знак после запятой
...
Рейтинг: 0 / 0
Ошибка запроса (переполнение) в SUM - призведение двух NUMERIC
    #40064662
WildSery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Шавлюк Евгений
Количество 0,001 у меня используется для граммов, для товаров с единицей измерения "кг"
Это ты ещё с отдушками не сталкивался, там в миллиграммах - обычное дело.
При этом, закупается литрами килограммами.
...
Рейтинг: 0 / 0
Ошибка запроса (переполнение) в SUM - призведение двух NUMERIC
    #40064716
Шавлюк Евгений
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WildSery
Шавлюк Евгений
Количество 0,001 у меня используется для граммов, для товаров с единицей измерения "кг"
Это ты ещё с отдушками не сталкивался, там в миллиграммах - обычное дело.
При этом, закупается литрами килограммами.


С этим у меня проблем нет, хотя конечно не до миллиграммов.
У меня хлеб/кондитерка.
Там вполне может быть рецепт в единицах грамм (или менее) на много готовых изделий. Ванилин и т.п.
Но это все считаем. В любом случае на производстве весов с точностью выше чем до 0,001 кг не используют.

Еще в ювелирке храню вес с точностью до 0.01 г в этом тоже все ок

Т.е. количество храню с точностью используемых весов, хотя считаю и точнее
...
Рейтинг: 0 / 0
Ошибка запроса (переполнение) в SUM - призведение двух NUMERIC
    #40064721
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Шавлюк ЕвгенийТам вполне может быть рецепт в единицах грамм (или менее) на много готовых изделий.
Ванилин и т.п.
Но это все считаем.

Серьёзно считаете по рецепту, а не по отпущенному со склада? Во, наверное, забава если
кто-нибудь рассыплет пакет с ванилином...
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Ошибка запроса (переполнение) в SUM - призведение двух NUMERIC
    #40064725
Шавлюк Евгений
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,

Сначала по рецепту считаем, а по итогам смены указывает (или нет) более точное количество.
Кроме того периодическая инвентаризация. В результате все отклонения по этим документам распределяется на себестоимость готовых изделий (в которых используется сырье с отклонениями количества).
Некоторые используют отпуск со склада, у некоторых склад прямо в цехе.
Мастер вначале смены принимает склад и после сдает.
Рецепт показывает количество к которому надо стремиться.
...
Рейтинг: 0 / 0
Ошибка запроса (переполнение) в SUM - призведение двух NUMERIC
    #40064729
Шавлюк Евгений
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я конечно могу подробнее описать, но думаю смысла не много.
Тут меня за бухгалтерскую "двойную запись" попытались заклевать :) ...одна для директора, а другая для своего кармана (c)
...
Рейтинг: 0 / 0
Ошибка запроса (переполнение) в SUM - призведение двух NUMERIC
    #40064734
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
К счастью, себестоимость это как раз та величина, которая может "оцениваться".
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Ошибка запроса (переполнение) в SUM - призведение двух NUMERIC
    #40064762
WildSery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov
Серьёзно считаете по рецепту, а не по отпущенному со склада? Во, наверное, забава если
кто-нибудь рассыплет пакет с ванилином...
Все так считают.
Не надо просто путать технологическую карту и расход материалов.

Факт вообще не сразу понятен (даже без учёта косвенных расходов), поскольку материалы и сырьё могут менять вес и объём в зависимости от многих факторов.
...
Рейтинг: 0 / 0
23 сообщений из 23, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Ошибка запроса (переполнение) в SUM - призведение двух NUMERIC
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]