powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Можно ли в запросе разделить два целочисленных значения с остатком?
7 сообщений из 7, страница 1 из 1
Можно ли в запросе разделить два целочисленных значения с остатком?
    #38888880
SAN_01_08
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FB 2.5, винда 7, запрос выполняется в IBExpert.
Код: plsql
1.
select cast(SUM(summa) / SUM(cnt) as decimal(10,3)) price from tbl where ...


Поля summa и cnt типа integer. Результат деления, к примеру 770 / 80 равен 9.000.
Но надо бы с остатком.
Если изменить тип одного из полей на decimal(8,2), то результат деления получается какой нужно (9.625).
Но это если в запросе есть приведение к decimal. Если "голое" деление, то результат 10.
Нет ли возможности запросом получить деление целочисленных типов с остатком?
...
Рейтинг: 0 / 0
Можно ли в запросе разделить два целочисленных значения с остатком?
    #38888890
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нет. А в чём проблема делать приведение?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Можно ли в запросе разделить два целочисленных значения с остатком?
    #38888891
m7m
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SAN_01_08FB 2.5, винда 7, запрос выполняется в IBExpert.
Код: plsql
1.
select cast(SUM(summa) / SUM(cnt) as decimal(10,3)) price from tbl where ...


Поля summa и cnt типа integer. Результат деления, к примеру 770 / 80 равен 9.000.
Но надо бы с остатком.
Если изменить тип одного из полей на decimal(8,2), то результат деления получается какой нужно (9.625).
Но это если в запросе есть приведение к decimal. Если "голое" деление, то результат 10.
Нет ли возможности запросом получить деление целочисленных типов с остатком?

Поменяй тип результата суммы, а не деления
Код: plsql
1.
select cast(SUM(summa) as decimal(10,3)) / SUM(cnt) price from tbl where ...
...
Рейтинг: 0 / 0
Можно ли в запросе разделить два целочисленных значения с остатком?
    #38888908
SAN_01_08
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
m7m, угу, сработало. Спасибо.

Гаджимурадов Рустам,
в приведении нет проблемы, кроме той, что результат деления целых чисел будет целым, приводи к чему угодно.
Может быть в этом есть сермяжная правда, но менять типы делимого и делителя в моей базе нет необходимости.
...
Рейтинг: 0 / 0
Можно ли в запросе разделить два целочисленных значения с остатком?
    #38888912
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SAN_01_08в приведении нет проблемы, кроме той, что результат деления целых чисел
будет целым, приводи к чему угодно.
А ты приводи аргументы не к целому и будет тебе счастье.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Можно ли в запросе разделить два целочисленных значения с остатком?
    #38888951
m7m
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SAN_01_08в приведении нет проблемы, кроме той, что результат деления целых чисел будет целым, приводи к чему угодно.

Поправлю
пока об этом не знаешь, как только об этом узнаёшь то проблема исчезает
...
Рейтинг: 0 / 0
Можно ли в запросе разделить два целочисленных значения с остатком?
    #38888967
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SAN_01_08> в приведении нет проблемы, кроме той, что результат
SAN_01_08> деления целых чисел будет целым, приводи к чему угодно.

Дык приводить надо правильно, то бишь как уже
подсказали - один из аргументов, а не результат.
К сведению, приводить можно не только кастом
(что правильно), но и + 0.0 или * 1.0, например.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Можно ли в запросе разделить два целочисленных значения с остатком?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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