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

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

Возможен ли такой запрос? [D6, dBase, FoxPro]


Солер ©   (2003-06-11 18:52:00) 

Уважаемые Мастера!

Задача такова - есть период между двумя датами
например
12.12.1999 и 21.01.2003

Как расчитать на какую дату выпадает 1/2 (половина)этого периода,

запрос

select spisok.*,ends, nach, (trunc(ends-nach)*1/2) as itog
from spisok

не проходит. Без trunc работает, но это количество дней.
Как их переобразовать в дату.
Спасибо


Солер   (2003-06-12 16:23:00) [1]

Спасибо


Служивый   (2003-06-12 12:30:00) [2]

select spisok.*,ends, nach, cast((ends-nach)/2+nach as date) as itog


Солер   (2003-06-11 19:27:00) [3]

Запрос
select spisok.*,ends, nach, cast((ends-nach)/2+nach as date)
from spisok
ощибку не выдаёт, но результаты перестали отображаться в itog
в чём моя ошибка?


Alexander Vasjuk   (2003-06-11 19:06:00) [4]

Val ©
Конечно же!

(d1+d2)/2

Cреднее арифметичесткое


Val   (2003-06-11 19:02:00) [5]

получаете разницу между датами в днях, делите пополам, округляя до целых, прибавляете полученное число дней к меньшей дате, выводите, преобразовывая в дату.


Alexander Vasjuk   (2003-06-11 19:01:00) [6]

cast((d2-d1)/2 as date) ?


Наверх

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