Гость
Форумы / SQLite [игнор отключен] [закрыт для гостей] / Деление в select. Результат дробь. На выходе кукиш. / 11 сообщений из 11, страница 1 из 1
27.02.2014, 16:12
    #38574405
Врач-психопат
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Деление в select. Результат дробь. На выходе кукиш.
Есть база с данными integer.

Запрос примерно такой:
Код: sql
1.
2.
3.
4.
SELECT COLGOL.STATE, (COLLUD.MENS+COLLUD.WOMENS)/(COLGOL.OFMENS+COLGOL.OFWOMENS+COLGOL.OFMIX)
FROM COLGOL, COLLUD
WHERE COLGOL.STATE=COLLUD.STATE
ORDER BY (COLLUD.MENS+COLLUD.WOMENS)/(COLGOL.OFMENS+COLGOL.OFWOMENS+COLGOL.OFMIX)


Результат дробный, но выводятся только целые числа.

Что бы такое придумать, чтобы увидеть дробный результат.

Эксперимент провожу в SQLite Administrator.
...
Рейтинг: 0 / 0
27.02.2014, 16:15
    #38574412
Врач-психопат
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Деление в select. Результат дробь. На выходе кукиш.
Точнее вопрос такой:
Можно как-то, не переделывая базу, в запросе указать, что результат должен быть с плавающей запятой?
...
Рейтинг: 0 / 0
27.02.2014, 17:25
    #38574502
fd00ch
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Деление в select. Результат дробь. На выходе кукиш.
Врач-психопат, сделай явный каст к REAL
...
Рейтинг: 0 / 0
27.02.2014, 17:28
    #38574511
Врач-психопат
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Деление в select. Результат дробь. На выходе кукиш.
Шо такое "явный каст"?

AS REAL писал.
Также вместо / писал и % и DIV.
Ничего не помогло.
...
Рейтинг: 0 / 0
27.02.2014, 17:41
    #38574532
Врач-психопат
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Деление в select. Результат дробь. На выходе кукиш.
Осознал.

Вместо:
Код: sql
1.
SELECT COLGOL.STATE, (COLLUD.MENS+COLLUD.WOMENS)/(COLGOL.OFMENS+COLGOL.OFWOMENS+COLGOL.OFMIX)



пишу:
Код: sql
1.
SELECT COLGOL.STATE, CAST((COLLUD.MENS+COLLUD.WOMENS)/(COLGOL.OFMENS+COLGOL.OFWOMENS+COLGOL.OFMIX) AS REAL)



а она вместо:
1
6
23

пишет:
1.0
6.0
23.0

а должна:
1.79
6.4
23.489
...
Рейтинг: 0 / 0
27.02.2014, 17:47
    #38574543
Врач-психопат
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Деление в select. Результат дробь. На выходе кукиш.
Получилось вот так:

Код: sql
1.
2.
3.
SELECT COLGOL.STATE,
CAST((COLLUD.MENS+COLLUD.WOMENS) AS REAL)/
CAST(COLGOL.OFMENS+COLGOL.OFWOMENS+COLGOL.OFMIX) AS REAL)



но теперь значения:
1.79666666666667
6.41176470588235
23.489

теперь осталось только обрезать хотя б до третьего знака.

Спасибо!
...
Рейтинг: 0 / 0
27.02.2014, 17:48
    #38574545
fd00ch
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Деление в select. Результат дробь. На выходе кукиш.
вот такой костыль работает))
Код: sql
1.
select 1/cast(3 as real)
...
Рейтинг: 0 / 0
27.02.2014, 17:48
    #38574546
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Деление в select. Результат дробь. На выходе кукиш.
Врач-психопат,

Не туда пишешь.
Надо не итоговый результат приводить к real, а операнды деления. Один или оба.

select 5/2, 5/cast(2 as real), cast(5 as real)/2, cast(5 as real)/cast(2 as real), cast(5/2 as real);
...
Рейтинг: 0 / 0
27.02.2014, 17:51
    #38574550
fd00ch
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Деление в select. Результат дробь. На выходе кукиш.
Врач-психопаттеперь осталось только обрезать хотя б до третьего знака.round() в помощь. и ваще...
...
Рейтинг: 0 / 0
27.02.2014, 18:51
    #38574612
potkin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Деление в select. Результат дробь. На выходе кукиш.
Можно просто:
*1.0
Код: sql
1.
SELECT COLGOL.STATE, (COLLUD.MENS*1.0+COLLUD.WOMENS*1.0)/(COLGOL.OFMENS*1.0+COLGOL.OFWOMENS*1.0+COLGOL.OFMIX*1.0)
...
Рейтинг: 0 / 0
28.02.2014, 15:54
    #38575422
Врач-психопат
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Деление в select. Результат дробь. На выходе кукиш.
Спасибо ВСЕМ!!!
...
Рейтинг: 0 / 0
Форумы / SQLite [игнор отключен] [закрыт для гостей] / Деление в select. Результат дробь. На выходе кукиш. / 11 сообщений из 11, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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