Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Вопрос по Postgre

304
11 января 2007 года
Fenyx
707 / / 26.01.2005
ПРи делении поля int на int постгре возвращает целое число, почему?
total = 17
count = 4
SELECT
total/count as est
FROM hotels
WHERE id='137'
Вывод 4, а не 4,25
Есть ли способ исправить это?
13
11 января 2007 года
RussianSpy
3.0K / / 04.07.2006
Легко.
 
Код:
SELECT (total/count)::float as est FROM hotels WHERE id='137'
304
11 января 2007 года
Fenyx
707 / / 26.01.2005
Цитата: RussianSpy
Легко.
 
Код:
SELECT (total/count)::float as est FROM hotels WHERE id='137'


Не а, все равно инт на выходе, я решил эту траблу через конвертацию to_number(string, 999.99)
из мана - division (integer division truncates results)

304
11 января 2007 года
Fenyx
707 / / 26.01.2005
Цитата: RussianSpy
Легко.
 
Код:
SELECT (total/count)::float as est FROM hotels WHERE id='137'


или так
[LEFT]SELECT total::float/count::float as est FROM hotels WHERE id='137'
но что будет работать быстрее?[/LEFT]

13
11 января 2007 года
RussianSpy
3.0K / / 04.07.2006
Сорри.. очепятка была
Цитата:
SELECT (total::float/count::float) as est FROM hotels WHERE id='137'



Так будет быстрее - нет операций со строками

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог