Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Вопрос по TQuery [D5, dBase, FoxPro]


SZap ©   (2003-03-05 16:42:00) 

Подскажите пожалуйста...
пишу: SELECT (P1/P2)*P3 AS PNEW
в результате (в поле PNEW) присутствуют числа с запятой, возможно сделать так, чтобы результатом было ближайшее целое число (по правилам округления)???


SZap   (2003-03-06 09:19:00) [1]

>Johnmen
попробовал, результат тотже...
>ЮЮ
прямо в яблочко...

Спасибо...


ЮЮ   (2003-03-06 03:49:00) [2]

CAST(((P1/P2)*P3 + 0.5) AS INTEGER)


Johnmen   (2003-03-05 23:39:00) [3]

Попробуй
SELECT P1, P2, P3, (P1/P2)*P3 P4, (CAST(((P1/P2)*P3) AS FLOAT) AS INTEGER) P5
Если все равно будет отсекать, то это особенности LocalSQL.


SZap   (2003-03-05 20:03:00) [4]

>Johnmen
с ошибками первого вопроса разобрался, только осталась одна проблема мне необходимо, чтобы результат округлялся до ближайшего целого, а получается, что просто обрезается все после запятой...
Так, например, при запросе:
SELECT P1, P2, P3, (P1/P2)*P3 P4, CAST(((P1/P2)*P3) AS INTEGER) P5
получаю результат:
+--------+--------+------+------------------+------+
! P1 ! P2 ! P3 ! P4 ! P5 !
+--------+--------+------+------------------+------+
! 199768 ! 119861 ! 4095 ! 6824.98861180868 ! 6824 !
! ~~~~~~ ! ~~~~~~ ! ~~~~ ! ~~~~~~~~~~~~~~~~ ! ~~~~ !
+--------+--------+------+------------------+------+
а мне нужно, чтобы в данном случае P5 = 6825

Подскажите пожалуйста, что мне нужно сделать???


Johnmen   (2003-03-05 18:05:00) [5]

P1||"/"||CAST(P2 AS ...)||"/"||P1
... - символьный тип поля


SZap   (2003-03-05 17:34:00) [6]

Если несложно, подскажите как правильно будет написать:
есть поля:
P1 - строка
P2 - дата
P3 - строка
в результате необходима строка содержащая Р1+"/"+P2(в формате "010103")+"/"+P1


SZap   (2003-03-05 17:29:00) [7]

>Johnmen
Извени, это я ошибся в запросе, попытаюсь сам разобраться...
Спасибо


Johnmen   (2003-03-05 17:23:00) [8]

Приведи полностью запрос...


SZap   (2003-03-05 17:09:00) [9]

>Johnmen
Ругается, пишет: Invalid use of keyword.


Johnmen   (2003-03-05 16:48:00) [10]

SELECT CAST((P1/P2)*P3 AS ...) AS PNEW
... - целочисленный тип поля.


Наверх

Титульная страница Поиск, карта сайта Написать письмо