![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как прямо в запросе сделать округление! [D5, D6, IB5.x, IB6.x]
Serg&Sn © (2002-09-17 17:20:00)Оригинальное поле типа Double округляю через cast as numeric(8,2)
Сам запрос работает. Только вот в TQuery в редакторе полей тип поля получается Integer вместо Float.
UDF писать нельзя так как запретили лазить в базу.
Все нужно сделять в TQuery.
Спасибо.
Johnmen (2002-09-18 10:42:00) [1]>Wolf226 © (18.09.02 10:32)
Да, конечно...:)
Wolf226 (2002-09-18 10:32:00) [2]2 Johnmen у тебя округление до сотен получилось
Ошибочка, нужно так
SELECT CAST(f*100 AS integer)/100
passm (2002-09-17 17:42:00) [3]Попробуй еще раз привести в Double.
Т. е. CAST(CAST(X AS DECIMAL(8, 2)) AS DOUBLE).
Смотрится неважно, но в DB2 с аналогичным типом (DECIMAL)просто мука :( - BDE его не любит.
Johnmen (2002-09-17 17:37:00) [4]Все верно - все, что менее разрядно, чем numeric(9,2), считается целым...(см.доки)
Примерно так : SELECT CAST(f/100.0 AS integer)*100.0
oss (2002-09-17 17:31:00) [5]а через round не пробовал ?