Если еще надо, вот что получилось чисто в запросе. Если с делфи, наверняка можно проще
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)) ))
Во всяком случае, работает!
|