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

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

Поиск приближенной даты SQL [D7, Paradox]


hyper_omsk ©   (2004-05-19 08:37:00) 

Привет всем!
Помогите сформировать запрос, если можно вообще такой сделать
Необходимо найти приближенную дату в таблице к текущей

Заранее благодарен.


sniknik   (2004-05-19 10:44:00) [1]

для jet-парадокс;) подойдет такой запрос
SELECT TOP 1 * FROM DateTable
WHERE DateField BETWEEN Date()-10 AND Date()+10
ORDER BY Abs(DateField-Date())

10 сдесь ограничитель(дней) за рамками которых приближение искать бессмыссленно.
при совпадающих датах выбор одной и тойже записи двумя такими запросами подряд не гарантировано. ;о)) (если нужна такая гарантия надо дополнительно автоинкримент в запрос(в сортирвку) включить)


Stas   (2004-05-19 10:15:00) [2]

А что подробнее ???

DateField это поле в котором ищеш дату
NowDate это текущая дата.
Ищешь минимальную разницу.


Sergey13   (2004-05-19 09:22:00) [3]

В дополнение к [1]
Если нужно приближение с обеих сторон (больше/меньше) то добавить UDF-ку типа ABS из RFUNC ( http://polesoft.da.ru)
MIN(ABS(DateField-NowDate))
или своей аналогичной


hyper_omsk   (2004-05-19 09:22:00) [4]

>>Johnmen ©   (19.05.04 09:05) [1]

>>Используй агрегатную ф-ию MIN(DateField-NowDate)

можно поподробней


Johnmen   (2004-05-19 09:05:00) [5]

Используй агрегатную ф-ию MIN(DateField-NowDate)


Наверх

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