Предполагая, что в вашей таблице есть столбец date_of_birth
, это сработает (2006 г. - 2019-13):
select *
from your_table
where to_number(extract(year from date_of_birth)) = 2006;
Я заметил, что заголовок вашего вопроса имеет значение года, отличное от его тела, поэтому, возможно, нам нужно для передачи проблемной математики на SQL:
select *
from your_table
where date '2019-01-01' = trunc(date_of_birth, 'yyyy') + interval '21' year
/
Усечение DOB с маской формата преобразует все даты в первое января этого года. Затем мы добавляем интервал в 21 год. Сравнение этого значения с первым января 2019 года даст вам всех, кому в прошлом году исполнился 21 год.