Показать сообщение отдельно
  #2  
Старый 28.10.2011, 10:21
_taddy _taddy вне форума
Прохожий
 
Регистрация: 27.10.2011
Адрес: Минск
Сообщения: 15
Версия Delphi: 2007
Репутация: 2767
По умолчанию

Если еще надо, вот что получилось чисто в запросе. Если с делфи, наверняка можно проще

select FIOP, BIRTHDAY FROM new_table
where
( EXTRACT(YEAR FROM current_date) - :X - 1 = EXTRACT(YEAR FROM BIRTHDAY)
AND ( EXTRACT(MONTH FROM current_date) < EXTRACT(MONTH FROM BIRTHDAY) or
( EXTRACT(MONTH FROM current_date) = EXTRACT(MONTH FROM BIRTHDAY) AND EXTRACT(DAY FROM current_date) < EXTRACT(DAY FROM BIRTHDAY)) ))
or
( EXTRACT(YEAR FROM current_date) - :X = EXTRACT(YEAR FROM BIRTHDAY)
AND ( EXTRACT(MONTH FROM current_date) > EXTRACT(MONTH FROM BIRTHDAY) or
( EXTRACT(MONTH FROM current_date) = EXTRACT(MONTH FROM BIRTHDAY) AND EXTRACT(DAY FROM current_date) > EXTRACT(DAY FROM BIRTHDAY)) ))

Во всяком случае, работает!
Ответить с цитированием